hadoop完全分布式安装jps该节点没有DataNode解决及ssh免密教程
引言
软件版本centos7,vmware16,hadoop2.7.2,
jps后NameNode节点没有DataNode进程(免密登录导致)
配置完全分布式后Namnode节点使用jps命令时找不到DataNode,检查配置文件时确定hdfs-site.xml,core-site.xml这两个配置文件没有问题。格式化集群前删除掉了对应的日志和数据存储目录。但是格式化后问题并重新启动后问题未能解决。
注意:我前面是已经配置了NameNode节点,yarn节点和secondary节点的免密登录,但每一次群起集群时还是需要输入NameNode节点密码。所以定位问题可能是NameNode节点到节点本身的免密登录出现问题
解决办法
配置免密即可
哪个节点没有DataNode就配NameNode节点到该节点的免密登录
安装集群时需要配置的免密登录参考
需要配置的ssh免密登录
NameNode节点到本节点免密登录
NameNode节点到yarn节点、secondaryNode节点免密登录
yarn节点Hadoop,secondaryNameNode节点到NameNode免密登录
注意:配置免密登录时的用户名一定要是你hadoop文件时的用户名
我hadoop所属的用户是user,所以就配置user,如果不会配免密的,可以看后面,也可以自己找一下教程。
免密配置
首先你的/etc/hosts文件里需要有三个节点的ip和主机名
切换到用户目录下
cd ~
然后查看目录下是否有.ssh这个文件,如果没有使用如下语法,任意远程登录任意一台机器后目录下就会生成这个文件
# 查看文件不要用ll,.开头的文件默认是隐藏文件,
# 需要使用ls -a才能查看我是有这个文件的,
# 如果有这个文件建议直接往后,如果没有可以参考下面的教程生成
ls -a
# 如果没有
ssh 任意主机名
# 示例
ssh hadoop112
随后我们进入NameNode节点的.ssh目录,开始配置免密登录
cd ./.ssh
生成密匙
ssh-keygen -t rsa
拷贝密匙到对应节点
ssh-copy-id 你的NameNode节点名
ssh-copy-id 你的yarn节点名
ssh-copy-id 你的resourceNameNode节点名
最后分别切换到yarn节点,secondary节点配置到NameNode节点的免密登录
yarn节点
ssh-keygen -t rsa
ssh-copy-id 你的NameNode节点名
secondaryNameNode节点
ssh-keygen -t rsa
ssh-copy-id 你的NameNode节点
其余可能问题
*hdfs-site.xml或core-site.xml配置文件有误
示例:我的NameNode节点是hadoop112,yarn节点是hadoop113,secondaryNameNode节点是hadoop114
core-site.xml文件配置
hdfs-site.xml文件配置
yarn-site.xml文件配置
mapred-site.xml文件
欢迎留言