所有Hadoop节点启动失败,执行启动脚本遇整数表达式错误求助
Hadoop启动脚本报错求助
嘿,我折腾了好一阵Hadoop的配置,已经把配置文件都设置妥当、文件系统也完成格式化了,但执行启动Shell脚本时一直卡壳!用hstart别名执行后,弹出的报错信息如下:
computer:~ seanplowman$ hstart
18/04/14 23:34:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [localhost]
localhost: /usr/local/hadoop/sbin/hadoop-daemon.sh: line 69: [: Mac.out: integer expression expected
几个可能的排查方向给你参考:
- 先去看看
/usr/local/hadoop/sbin/hadoop-daemon.sh的第69行代码,这个错误是脚本里在做整数判断时,拿到了Mac.out这个非整数值,明显是逻辑串了。大概率是环境变量配置出问题了,比如HADOOP_PID_DIR这类和进程ID文件相关的变量,或者脚本里生成PID文件名的逻辑出错,把某个输出文件名当成整数来处理了。 - 确认下你用的Hadoop版本和MacOS的兼容性,有些旧版本的Hadoop在Mac上运行时,脚本会有这类适配性的小问题。
- 检查下
hstart这个别名对应的实际命令是什么,会不会是启动时参数传递错了,比如不小心把某个输出文件的名字当成了PID相关参数传给脚本了。 - 再核对下Hadoop配置文件(比如
hadoop-env.sh)里的环境变量,比如JAVA_HOME是不是正确配置,还有其他和进程管理相关的变量有没有写错,这些都可能导致脚本逻辑跑偏。
内容的提问来源于stack exchange,提问作者formative
相关产品推荐
相关产品推荐

