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启动jps缺少namenode hadoop启动jps缺少secondary_hadoop


我hadoop所属的用户是user,所以就配置user,如果不会配免密的,可以看后面,也可以自己找一下教程。

免密配置

首先你的/etc/hosts文件里需要有三个节点的ip和主机名

hadoop启动jps缺少namenode hadoop启动jps缺少secondary_hadoop_02

切换到用户目录下

cd ~

然后查看目录下是否有.ssh这个文件,如果没有使用如下语法,任意远程登录任意一台机器后目录下就会生成这个文件

hadoop启动jps缺少namenode hadoop启动jps缺少secondary_hadoop_03

# 查看文件不要用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文件配置

hadoop启动jps缺少namenode hadoop启动jps缺少secondary_hadoop_04


hdfs-site.xml文件配置

hadoop启动jps缺少namenode hadoop启动jps缺少secondary_xml文件_05


yarn-site.xml文件配置

hadoop启动jps缺少namenode hadoop启动jps缺少secondary_hadoop_06

mapred-site.xml文件

hadoop启动jps缺少namenode hadoop启动jps缺少secondary_xml_07

欢迎留言