出现的问题
在设置完Hadoop的HA配置文件后,运行start-all.sh时总是出现如下错误:
ERROR: node02:Cannot set priority of xxxxxxx process on PID xxxx
解决方式
出现这种情况时一般是由以下原因引起:
1. 文件夹用户设置问题:
线运行ll来看文件夹用户,看是不是现在登陆的用户
可以用chown -R root:root hadoop来改为root或你想用的用户
2. 文件夹权限问题
chmod -R 777 hadoop来修改权限
3. Hadoop用户设置问题
修改你的HADOOP_HOME/bin/hdfs最开始一句代码
修改成:HADOOP_SHELL_EXECNAME=“root”
修改HADOOP_HOME/etc/hadoop/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
export JAVA_HOME=/root/jdk8/jdk8
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
export HADOOP_SHELL_EXECNAME=root
4. 配置文件错误无法启动
此类问题可以看日志
进入出现错误的节点,查看此节点上的HADOOP_HOME/logs中的log
例如我root用户登陆,node02节点datanode启动失败那就是
hadoop-root-datanode-node02.log
注意这个日志是最新的在最后,所以要vi中Shift+g来查看最新日志
然后对应修改相关配置文件
5. 没有配置好免密登录
没得说,免密一定要先做好
6. zookeeper启动错误
zookeeper集群也是,zkServer.sh status来查看启动状态
7. 防火墙设置错误
systemctl stop firewalld
systemctl disable firewalld