文章目录

  • 1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作:
  • 2.启动hadoop之后,使用jps查看,master服务器中没有namenode服务,解决方案如下:
  • 3.启动hadoop之后,使用jps查看,master服务器中没有datanode服务,解决方案如下:
  • 4.启动hadoop之后,使用jps查看,slave服务器中没有datanode和namenode服务
  • 5.运行hadoop的MapReduce示例,在running job卡住,不能继续运行


1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作:

(1)进入.ssh目录下查看是否有公钥私钥文件authorized_keys、id_rsa、id_rsa.pub

hadoop整合snappy hadoop slaves_大数据


(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),看是否需要输入密码,如果仍然需要输入密码,说authorized_keys文件权限有问题,则执行下一步

(6)使用ssh -vvv slave01调试命令,进入到slave01调试界面

(7)设置authorized_keys文件权限为600,chmod 600 ~/.ssh/authorized_keys

hadoop整合snappy hadoop slaves_大数据_02

(8)同理,在master主机的终端中继续执行步骤6和步骤7中的命令

9)设置完成后在master主机中,登录slave01和slave02,如果不需要输入密码,则配置完成

hadoop整合snappy hadoop slaves_hadoop整合snappy_03


(10)停止hadoop的所有进程:stop-all.sh

(11)重新启动hadoop:start-all.sh

2.启动hadoop之后,使用jps查看,master服务器中没有namenode服务,解决方案如下:

问题出现的原因可能是:一般都是由于两次或两次以上格式化NameNode造成的

(1)首先停止hadoop的所有进程:stop-all.sh

(2)进入hadoop安装目录下:/software/hadoop/ 中删除hadoopdate文件夹所有文件

hadoop整合snappy hadoop slaves_linux_04


(3)格式化namenode:hdfs namenode -format

(4)重新启动hadoop:start-all.sh

(5)输入jps查看,可以看到namenode进程

hadoop整合snappy hadoop slaves_服务器_05

3.启动hadoop之后,使用jps查看,master服务器中没有datanode服务,解决方案如下:

一般由于多次格式化NameNode导致。在配置文件中保存的是第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。

(1)查看从节点机器hadoop中datanode的log文件 , 拉到最后 , 报错如下

hadoop整合snappy hadoop slaves_服务器_06


hadoop整合snappy hadoop slaves_大数据_07


(2)然后找到datanode日志文件打开。(在/hadoop-2.7.3/logs/)

hadoop整合snappy hadoop slaves_服务器_08

(3)如图,复制这个namenode clusterID。

hadoop整合snappy hadoop slaves_hadoop_09


找到data目录,在这个目录下,有一个VERSION文件。将VERSION中的clusterID改成上面复制的ID。

hadoop整合snappy hadoop slaves_hadoop整合snappy_10


(4)找到current 中的VERSION 打开,复制修改clusterID,保存 。

hadoop整合snappy hadoop slaves_linux_11

(5)重新启动hadoop:start-all.sh

(6)查看进程

hadoop整合snappy hadoop slaves_hadoop_12

4.启动hadoop之后,使用jps查看,slave服务器中没有datanode和namenode服务

很可能是防火墙问题(master节点和slave节点的都需要在root权限下关闭)
输入service iptables stop命令

5.运行hadoop的MapReduce示例,在running job卡住,不能继续运行

1.可能是hosts列表配置错误
在root权限下,输入vi /etc/hosts,查看IP地址以及主机名是否正确!!

2.可能由于集群所在的空间磁盘不足所致。
修改yarn-site.xml文件

[whzy@master hadoop-2.7.3]$ vi ~/hadoop-2.7.3/etc/hadoop/yarn-site.xml
用下面代码中<configuration>和</configuration>之间的内容替换yarn-site.xml中相应的部分。
<?xml version="1.0"?>
<configuration>
<property> 
<name>yarn.nodemanager.aux-services</name> 
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
</configuration>

以上就是我从网上结合自己的一些问题所总结的,希望对你有所帮助~!!