1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh
启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作:
1)进入.ssh目录下查看是否有公钥私钥文件authorized_keys、id_rsa、id_rsa.pub
2)如果没有公钥私钥文件,则执行ssh-keygen -t
rsa生成秘钥(master主机和slave主机都需要执行)
3)公钥私钥文件生成完成后,执行cat id_rsa.pub >> authorized_keys
,将生成的公钥添加到认证文件中
4)将slave服务器公钥写入master服务器authorized_keys
文件中
[root@master ~]# ssh-copy-id -i slave01 [root@master ~]# ssh-copy-id -i slave02
5)登录slave服务器(ssh slave01),看是否需要输入密码,如果仍然需要输入密码,说明uthorized_keys文件权限有问题,则执行下一步
6)使用ssh -vvv slave01调试命令,进入到slave01调试界面
7)设置authorized_keys文件权限为600,chmod 600 ~/.ssh/authorized_keys
8)同理,slave01也要同样进行设置,在master主机的终端中继续执行步骤6和步骤7中的命令
9)设置完成后在master主机中,登录slave01和slave02,如果不需要输入密码,则配置完成
10)停止hadoop的所有进程:stop-all.sh
11)重新启动hadoop:start-all.sh
2.启动hadoop之后,使用jps查看,master服务器中没有namenode服务,解决方案如下:
1)首先停止hadoop的所有进程:stop-all.sh
2)格式化namenode:hdfs namenode -format
3)重新启动hadoop:start-all.sh
4)输入jps查看,可以看到namenode进程
3.启动hadoop之后,使用jps查看,slave服务器中没有datanode服务,解决方案如下:
1)首先停止hadoop的所有进程:stop-all.sh
2)进入hadoop安装目录下:/software/hadoop中删除hadoopdate文件夹
3)进入hadoop安装目录下:/software/hadoop中的hadoop-2.7.3文件夹中删除logs文件夹
4)在slave01主机和slave02主机的终端执行步骤2和步骤3,确保步骤2和步骤3的文件夹都删除干净
5)格式化namenode:hdfs namenode -format
6)重新启动hadoop:start-all.sh
7)在slave01主机和slave02主机的终端输入jps查看,可以看到datanode进程
总结
以上所述是小编给大家介绍的Hadoop环境搭建过程中遇到的问题及解决方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!