设为首页 收藏本站
查看: 546|回复: 0

[经验分享] Hadoop:Hadoop的常见启动错误(有新问题会持续更新)

[复制链接]

尚未签到

发表于 2016-12-9 09:04:35 | 显示全部楼层 |阅读模式
  最近在学习hadoop,遇到了一些常见的问题,现在来总结一下,和大家分享,以后会持续更新遇见的其他问题。当使用hadoop 发现有问题时,首先使用jps 命令查看启动的节点是否正确,然后再去查看日志文件。
  原创文章,转载请注明出处:http://blog.csdn.net/jessonlv/article/details/18221299
  通常情况下,我们会遇见一下几种错误:
  1、设置主机名错误
  看日志,会发现下面的错误:


ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.net.UnknownHostException:
Invalid hostname for server: master


这是由于主机名设置错误造成的,请检查配置文件中关于主机名的设置,是否正确。

首先使用hostname 命令查看主机名是否正确;

然后使用more /etc/sysconfig/network 命令查看主机名是否记录在文件中;

最后使用more /etc/hosts 命令查看ip 与主机名的映射是否设置。  2、ip 设置错误
  看日志,发现下面的错误


ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.net.BindException: Problem
binding to book0/192.168.1.100:9000 : Cannot assign requested address


这是由于ip 地址设置错误引起的,请检查主机的ip 设置与配置文件的ip 设置是否一致。

使用more /etc/hosts 命令查看ip 与主机名的映射是否设置。
  3、hostname 不能带有下划线,不能数字开头
  hostname 含有下划线,也会造成启动失败。

  启动完成后,一定使用jps 命令查看5 个节点是否全部成功启动。如果哪个节点没有启

动,请查看对应的log 日志。日志的默认目录是$HADOOP_HOME/logs。

以下是我的日志截图:

DSC0000.jpg

  文件命名是有规律的,“hadoop-[当前用户名]-[节点名称]-[主机名].log”我们只查看log结尾的文件。如果是namenode 节点没有启动,查看hadoop-root-namenode-book0.log 文件。

  4、多次执行hadoop 格式化
  现象:在Hadoop-root-datanode-master.log 中有如下错误:


ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException:
Incompatible namespaceIDs in
  


原因: 每次namenode format 会重新创建一个namenodeId,而dfs.data.dir 参数配置的目录中包含的是上次format 创建的id,和dfs.name.dir 参数配置的目录中的id 不一致。

namenode format 清空了namenode 下的数据,但是没有清空datanode 下的数据,导致启动时失败,所要做的就是每次fotmat 前,清空dfs.data.dir 参数配置的目录。重新格式化hdfs的命令。

  5、防火墙没有关闭
  从本地往hdfs 文件系统上传文件,出现如下错误:

DSC0001.jpg

  这个问题最有可能就是防火墙没有关闭,导致节点DataNode 与节点NameNode 通信失败。可以使用service iptables status 命令关闭防火墙。这样关闭后,重启操作系统时,防火墙有可能重启,可以关闭自动重启功能。使用chkconfig iptables off 关闭。

  6、安全模式导致的错误
  错误提示如下:


org.apache.hadoop.dfs.SafeModeException: Cannot delete ..., Name node is in
safe mode


在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode 上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文件也会有安全模式不允许修改的出错提示,只需要等待一会儿即可。如果着急的话,可以执行hadoop dfsadmin –safemode leave 命令关闭安全模式。
  总结:以上是几天学习hadoop的时候,遇到的几个问题,后面的学习过程中肯定会遇见各种各样的问题,我会一一记下来,并找出解决方法,持续更新这篇文章。
  另外,我会将学习过程和做的笔记和大家分享。
  最后,最近发现很多论坛扒了我的文章,让我很是苦恼,不知道广大同学有什么解决方法,帮忙支支招,谢谢大家啦~
  2014/1/14更新:
  今天在配置hadoop的配置文件的时候,犯了一个小小的疏忽,请看下面:
  我在配置hadoop-env.sh 的时候,
  这个文件的第九行的内容原来是:

#export JAVA_HOME=/usr/lib/jdk-1.6.0/我们需要将此改为我们自己的jdk目录,我们的目录是/use/local/jdk

我在修改的时候,只把前面的#号去掉后,只把jdk-1.6.0这个名称改了,没有把lib改为local,在启动hadoop的时候造成如下错误:
DSC0002.jpg

  找不到jdk,呵呵,实在不该粗心大意,记录下来,长个记性!!!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-311734-1-1.html 上篇帖子: hadoop运行环境的搭建和hadoop源代码的编译 下篇帖子: 分析师给出关于Hadoop的12个事实
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表