Кто-нибудь знает, как исправить ошибку синтаксиса hadoop-functions.sh "рядом с неожиданным токеном` <'"? - PullRequest
0 голосов
/ 14 февраля 2019

Я настроил Hadoop 3.1.1 на моем MacPro под управлением OSX 10.14.2, и я получаю следующую ошибку при запуске start-all.sh

$ sudo /usr/local/Cellar/hadoop/3.1.1/sbin/start-all.sh
Starting namenodes on [localhost]
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-functions.sh: line 398: syntax error near unexpected token `<'
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-functions.sh: line 398: `  done < <(for text in "${input[@]}"; do'
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 70: hadoop_deprecate_envvar: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 87: hadoop_bootstrap: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 104: hadoop_parse_args: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 105: shift: : numeric argument required
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 244: hadoop_need_reexec: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 252: hadoop_verify_user_perm: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/hdfs: line 213: hadoop_validate_classname: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/hdfs: line 214: hadoop_exit_with_usage: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 263: hadoop_add_client_opts: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 270: hadoop_subcommand_opts: command not found
/usr/local/Cellar/hadoop/3.1.1/libexec/bin/../libexec/hadoop-config.sh: line 273: hadoop_generic_java_subcmd_handler: command not found

Те же проблемы при запуске datanodes, вторичные namenodes, resourcemanager и nodemanagers.

Я нашел похожую ссылку на ошибку в Интернете: https://issues.apache.org/jira/browse/HDFS-12571.

Обновление После некоторой отладки основной причиной является bash "Синтаксис <<(команда) "по какой-то причине не принят.Версии bash в системе (/ bin / bash и / usr / local / bin / bash от Homebrew) работают правильно. </p>

1 Ответ

0 голосов
/ 11 июля 2019

Возможно, вам следует изменить HDFS_NAMENODE_USERHDFS_DATANODE_USER и т. Д. В hadoop-env.sh на текущего пользователя вместо root !Затем перед запуском команды sudo ./start-all.sh может потребоваться воссоздать hdfs namenode с hdfs namenode -format.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...