functions.sh

wgeznvg7  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(442)

我试图启动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.

我试过任何方法来解决这个问题,但都没有成功。连我都重新安装了最新版本。但错误是一样的。它几乎让我发疯。
任何答案都是有帮助的。谢谢。

thtygnil

thtygnil1#

在我的例子中,在使用自制软件安装hadoop之后,我在osx中看到了这个错误。解决方案是在直接从官方网站下载hadoop(3.2.1)二进制文件后重新安装。在安装时,我设置了hadoop\u home和java\u home环境变量。
注意:我发现,如果在hadoop-env.sh中定义了以下环境变量,则可能会出现问题:

export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"

我最初是在试图解决问题时添加这些变量的。最终我删除了它们,错误消失了。
注意,我以非root用户的身份执行了所有hadoop命令和脚本,还将bash升级到了5.0.17版本。

cgvd09ve

cgvd09ve2#

hadoop脚本需要bash,而不是sh

$ chmod +x start-all.sh
$ ./start-all.sh

不过,我建议您单独启动hdfs和yarn,以便隔离其他问题
您还需要将hadoop降级到至少最新的2.7版本,spark才能正常工作

相关问题