hadoop安装时容易出现的错误

1.设置主机名错误
看日志,会发现下面的错误


这是由于主机名设置错误造成的,请检查配置文件中关于主机名的设置,是否正确。
首先使用 hostname 命令查看主机名是否正确;
然后使用 more /etc/sysconfig/network 命令查看主机名是否记录在文件中;
最后使用 more /etc/hosts 命令查看 ip 与主机名的映射是否设置。
2.ip 设置错误
看日志,发现下面的错误


这是由于 ip 地址设置错误引起的,请检查主机的 ip 设置与配置文件的 ip 设置是否一致。
使用 more /etc/hosts 命令查看 ip 与主机名的映射是否设置。
3.hostname 不能带有下划线,不能数字开头
hostname 含有下划线,也会造成启动失败。
启动完成后,一定使用 jps 命令查看 5 个节点是否全部成功启动。如果哪个节点没有启
动,请查看对应的 log 日志。
4.多次执行 Hadoop 格式化
现象:在 Hadoop-root-datanode-master.log 中有如下错误:


原因: 每次 namenode format 会重新创建一个 namenodeId,而 dfs.data.dir 参数配置的目
录中包含的是上次 format 创建的 id,和 dfs.name.dir 参数配置的目录中的 id 不一致。
namenode format 清空了 namenode 下的数据,但是没有清空 datanode 下的数据,导致启动时
失败,所要做的就是每次 fotmat 前,清空 dfs.data.dir 参数配置的目录。重新格式化 HDFS
的命令。
如果真的需要重新格式化, 一定要在格式化前, 删除 data 目录下的数据。 否则, NameNode
节点和 DataNode 节点的版本会出现不一致,造成 DataNode 启动失败。
5.防火墙没有关闭
防火墙没有关闭, 导致节点DataNode与节点NameNode通信失败。
可以使用 service iptables stop 命令关闭防火墙。(这是centos6.x的命令)
这样关闭后,重启操作系统时,防火墙有可能重启,可以关闭自动重启功能。使用
chkconfig iptables off 关闭。
6.安全模式导致的错误
错误提示如下:


在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全
模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式
主要是为了系统启动的时候检查各个 DataNode 上数据块的有效性,同时根据策略必要的复
制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的
时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。
如果着急的话, 可以执行 hadoop dfsadmin –safemode leave 命令关闭安全模式。
7.没有datanode运行
一个原因是执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录namespaceID,标识了所格式化的namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。解决方案是清空hadoop的tmp文件,重启格式化hdfs。
Retrying connect to server: localhost/127.0.0.1:9000
说明hadoop的namenode进程没有启动,导致与namenode无法连接而报错。可以先执行stop-all.sh脚本停止hadoop,然后调用start-all.sh重启hadoop。
jps命令没有namenode运行
一个可能原因是tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失,于是我们得重新配置一个tmp文件目录。可以通过修改hadoop/conf目录里面的core-site.xml文件,加入以下节点:
<property>
              <name>hadoop.tmp.dir</name>
             <value>/home/chjzh/hadoop_tmp</value>
              <description>A base for othertemporary directories.</description>
</property>
然后重新格式化hdfs
8.启动后NameNode节点未启动
 问题就出在tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失
于是我们得重新配置一个tmp文件目录
首先在home目录下建立一个Hadoop_tmp目录
sudo mkdir ~/hadoop_tmp
然后修改hadoop/conf目录里面的core-site.xml文件,加入以下节点:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/chjzh/hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property>
9.进程号
利用jps命令查看当前运行的hadoop进程时,和hadoop相关的一系列进程datanode、namenode和SecondaryNameNode的进程号也是非常接近的,不会出现上千的差异。如果发现它们的进程号差异过大,则往往会出错,这时可以通过重启解决问题。如果多次重启某些进程依旧没有改变,还可以利用kill -9命令强制杀死进程,然后再重启。
2403  DataNode
2725  ResourceManager
2821  NodeManager                                   
2311  NameNode
2527  SecondaryNameNode
3795 NameNode
4007 SecondaryNameNode
4695 Jps
4301 NodeManager
3885 DataNode
4205 ResourceManager
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值