Я использую Hadoop streaming jar
и пытается передать переменную среды, которая указывает на несколько дорожек с использованием -cmdenv.
прохождение нескольких путей к cmdenv в Hadoop потокового
hadoop jar ../hadoop-streaming.jar \
-libjars .../something.jar \
-inputFormat ..CustomInputFormat \
-file mapper.py \
-file stream.py \
-cacheFile ../files#aliasname \
-cmdenv LD_LIBRARY_PATH=/home/files/1/xyz:/home/files/2/:/home/files/1/abc/ \
-mapper mapper.py \
-input hdfs:/inputfiles/ \
-output hdfs:/outputfiles/ \
-reducer NONE \
-verbose
Есть несколько запросов у меня есть. 1. Экологическая переменная, определенная в cmdenv
, не отображается сценарию сопоставления 2. Могу ли я предоставить каталоги hdfs
как путь к переменной окружения?
Когда я запустил команду hadoop
, я получаю сообщение об ошибке в журналах приложений, где он выдает «ошибку при загрузке разделяемых библиотек: xyz.so: невозможно открыть файл общего объекта: нет такого файла или каталога».
Кроме того, я мог бы заметить переменную среды в поток работы STREAM: stream.addenvironment=HADOOP_ROOT_LOGGER= LD_LIBRARY_PATH=<path1>/:<path2>/..
Пожалуйста, предложите, где я неправильно?
Вы можете вставить фактическую ошибку и какой общий объект это скорее, чем abc.so? Также удалите пробел между «=» ключа параметра и значением – SMA
Привет, Ниже приведена фактическая ошибка. LOGTYPE: STDERR LogLength: 495 Вход Содержание: ./imcf.exe: ошибка при загрузке разделяемых библиотек: libMeasureCommon.so: не удается открыть общий объектный файл: Нет такого файла или каталога Traceback (самый последний вызов последнего): файла "./stream.py", строка 8, в print val IOError: [Errno 32] Broken pipe –
Итак, вам не хватает библиотек. проверьте, нужна ли вам установка некоторых библиотек. Do ldd на imcf.exe (надеюсь, что это не windows exe и просто расширение для Linux) – SMA