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

[经验分享] hadoop遇到的问题

[复制链接]

尚未签到

发表于 2015-7-12 07:57:07 | 显示全部楼层 |阅读模式
  装好hadoop,但是一直出现问题,总结如下:
  排错到现在,最大的感觉是,也许你的错误表象跟网上说的一样,但是解决方法会大有不同,只能说这种错误是同一问题(如namenode出错)导致,但是究竟是什么行为导致这个问题,每个人也许都不相同,所以重点是找到自己的操作时的错误所在.
  1.Too many fetch-failures错误
  问题介绍:http://blog.iyunv.com/liangliyin/article/details/6455713
  网上的解决方案:1)Answer:(http://www.hadoopor.com/thread-71-1-1.html)
         出现这个问题主要是结点间的连通不够全面。   
     检查 、/etc/hosts   
               要求本机ip 对应 服务器名   
               要求要包含所有的服务器ip + 服务器名   
     检查 .ssh/authorized_keys   
               要求包含所有服务器(包括其自身)的public key
  (没解决问题。。。。。。。。最后自己该了下网络链接,问题接二连三的变成下面情况。。。)
  2.web页面上的LiveNode中有一个datanode的链接不能打开,但是只能用别名node3,
  修改个task的/etc/hosts,是网络中每个ip地址对应一个主机名,保证ssh能链接到各个主机名,注意一定要连接到主机名
  3.datanode进程正常启动,但是在web页面上看到live Node为0,tasktracker也不可用
  (此时如果使用hadoop fs -put或-copyFromLocal等会得到could only be replicated to 0 nodes, instead of 1”)
  1.关闭防火墙,(ubuntu下默认关闭)
  2. 关闭safenode模式:把safemode置于off状态:hadoop dfsadmin -safemode leave
  3,都说是haoop.tmp.dir没有删除干净就把namenode格式化了,但是我已经把namenode还有datanode上的都删了,还是没有解决。。
  个人觉得以上三种方法,都是针对datanode本身就没有正常启动的,但是我的datanode进程已经有了(用jps看见)。所以没有解决问题
  最后我在每个节点的/etc/hosts里把127.0.0.1都注释掉,就正常了。(这步可能不是这个原因,因为网上都说这个是可以存在的,并且后来我又把这句加上去了,也没有再出现类似错误)并且没有在出现最开始的too many fetch-failure错误。
  4.connect to host gp port 22: No route to host   
   发现竟然是重启电脑后,有一个datanode的IP改变了,所以要修改其他机器的/etc/hosts.
  5.Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s)...............
  Call to localhost/127.0.0.1:9000 failed on connection exception
  (一般这个问题肯定是namenode连接不正常引起的,所以主要是检查namenode进程是否正常启动,我则是因为其他原因。。虽然有相同症状,但是错误不同)
  第一次运行没出这个问题,这次在外面运行测试TestDFSIO也正常,但是在eclipse中运行自己写的MapReduce程序却出现这个错误。
  原因应该是这次我是在集群上运行的,所以一定要把程序打包成jar,文件使用hadoop jar运行,这样namenode才能进行map和reduce任务的分发。
  (突然觉得单元测试还是很有必要的,以前一直懒得看。。。。)
  6.关于 Warning: $HADOOP_HOME is deprecated.
  刚刚把hadoop升为1.0.0版本。一直出现这个警告:解决链接:http://www.dw4e.com/?p=83
  经查hadoop-1.0.0/bin/hadoop脚本和hadoop-config.sh脚本,发现脚本中对HADOOP_HOME的环境变量设置做了判断,笔者的环境根本不需要设置HADOOP_HOME环境变量。   
参考文章:   
HADOOP-7398   
解决方案一:到HOME目录编辑.bash_profile文件,去掉HADOOP_HOME的变量设定,重新输入hadoop fs命令,警告消失。   
解决方案二:到HOME目录编辑.bash_profile文件,添加一个环境变量,之后警告消失:
  export HADOOP_HOME_WARN_SUPPRESS=1
  
  ubuntu重启网络命令:sudo /etc/init.d/networking restart
  ubuntu主机名文件:/etc/hostnam

运维网声明 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.yunweiku.com/thread-85617-1-1.html 上篇帖子: Hadoop 的 TotalOrderPartitioner 下篇帖子: Hadoop学习笔记(七):使用distcp并行拷贝大数据文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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