我试图启动hadoop,但失败了,什么也没启动。跟踪控制台日志。
Mac:sbin lqs2$ sh start-all.sh
/Users/lqs2/Library/hadoop-3.1.1/libexec/hadoop-functions.sh: line 398:
syntax error near unexpected token `<'
/Users/lqs2/Library/hadoop-3.1.1/libexec/hadoop-functions.sh: line 398:
`done < <(for text in "${input[@]}"; do'
/Users/lqs2/Library/hadoop-3.1.1/libexec/hadoop-config.sh: line 70:
hadoop_deprecate_envvar: command not found
/Users/lqs2/Library/hadoop-3.1.1/libexec/hadoop-config.sh: line 87:
hadoop_bootstrap: command not found
/Users/lqs2/Library/hadoop-3.1.1/libexec/hadoop-config.sh: line 104:
hadoop_parse_args: command not found
/Users/lqs2/Library/hadoop-3.1.1/libexec/hadoop-config.sh: line 105:
shift: : numeric argument required
WARNING: Attempting to start all Apache Hadoop daemons as lqs2 in 10
seconds.
WARNING: This is not a recommended production deployment configuration.
WARNING: Use CTRL-C to abort.
我试过任何方法来解决这个问题,但都没有成功。连我都重新安装了最新版本。但错误是一样的。它几乎让我发疯。
任何答案都是有帮助的。谢谢。
2条答案
按热度按时间thtygnil1#
在我的例子中,在使用自制软件安装hadoop之后,我在osx中看到了这个错误。解决方案是在直接从官方网站下载hadoop(3.2.1)二进制文件后重新安装。在安装时,我设置了hadoop\u home和java\u home环境变量。
注意:我发现,如果在hadoop-env.sh中定义了以下环境变量,则可能会出现问题:
我最初是在试图解决问题时添加这些变量的。最终我删除了它们,错误消失了。
注意,我以非root用户的身份执行了所有hadoop命令和脚本,还将bash升级到了5.0.17版本。
cgvd09ve2#
hadoop脚本需要bash,而不是sh
不过,我建议您单独启动hdfs和yarn,以便隔离其他问题
您还需要将hadoop降级到至少最新的2.7版本,spark才能正常工作