sqoop1安装在hadoop2.6.0上不能使用import命令的问题

本人是菜鸟一枚,之前自己就在dell的台式机上安装了hadoop2.6.0的伪分布式,一直认为hadoop高深非我等常人可以明白理解的,怀揣着不求机理、问题清楚明了,只求能折腾出我想要的结果的心游走在Hadoop的边缘,所谓擦边球。但最近发现很多功能试了又试就是达不到预想的结果。然后网上搜了n多解决方案,依然不能解决。看了一个帖子,评论上说回归logs,如果连logs都看不明白,那你只能上个棒槌了,棒槌了,棒槌了,,这句话久久回荡在我的耳边,于是乎我决定静下心来看看日志文件。

       扯得太远了,回归原题。

       最近在用Hadoop的数据迁移工具sqoop,依然是度娘,下载安装包,然后安装百度来的经验帖子一步步的配置完成安装,测试。

      测试的时候,sqoop的server/client开启均正常,执行sqoop list-tables --connect jdbc:mysl://localhost:Goods --username sqoopuser -p的时候可以正常显示mysql数据库Goods中的所有表列表,但是将mysql中Goods中的指定表quality内容迁移到Hdfs的时候,报错。

命令bin/sqoop  import  -connect  jdbc:mysql://localhost:Goods -username sqoopuser -password ****** --table quality  --append --target-dir /usr/hadoop/ -m 1

显示:connect to resourcemanage 并且一直在尝试连接,连接很多次都连接不上,然后我就检查了一下jps进程,发现Hadoop安装时,进程中没有resourcemanager一项,发现自己犯了致命的错误。然后,关闭Hadoop,重启仍然没有,查看了一下logs,yarn-resourcemanager-**logs发现,显示为系统尝试连接master:8032端口,一直连接不上,然后打开yarn-site.xml文件,将yarn.resourcemanager.hostname的值修改为master机器的ip地址(我的上localhost的127.0.0.1),然后重启Hadoop,jps查看进程,发现有了nodemanager和resourcemanager进程。


      返回到sqoop,执行import命令,一切正常:




分析原因:

在安装好hadoop2.2.0集群后,依次执行start-dfs.sh和start-yarn.sh脚本启动hadoop相关的服务。各个服务均能正常启动。但是过了一段时间后会发现nodemanager会自动

失败退出。

检查日志信息发现一直报本机与一个0.0.0.0的连接失败,然后继续与进行通信尝试一段时间后nodemanager失败。具体信息如下:


org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.net.ConnectException: Call From node2/222.18.159.123 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused


Caused by: java.net.ConnectException: Call From node2/222.18.159.123 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused



返回博客列表
原 hadoop2.2.0 nodemanager启动后失败分析!!!
仙剑奇侠  仙剑奇侠
发布时间: 2014/04/16 22:13 阅读: 2707 收藏: 1 点赞: 0 评论: 0
摘要
在安装好haoop2.2.0后,发现nodemanager启动一段时间后会自动失败。然后检查日志,终于发现原来是与master节点通信失败造成的,然后将配置文件中默认master的ip换成部署环境中的ip地址,解决了问题!!!
在安装好hadoop2.2.0集群后,依次执行start-dfs.sh和start-yarn.sh脚本启动hadoop相关的服务。各个服务均能正常启动。但是过了一段时间后会发现nodemanager会自动失败退出。
检查日志信息发现一直报本机与一个0.0.0.0的连接失败,然后继续与进行通信尝试一段时间后nodemanager失败。具体信息如下:
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.net.ConnectException: Call From node2/222.18.159.123 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
Caused by: java.net.ConnectException: Call From node2/222.18.159.123 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
通过检查配置文件知道8031端口出现在yarn-site.xml配置文件的yarn.resourcemanager.scheduler.address配置项中。yarn.resourcemanager.scheduler.address 是resourcemanager暴漏给nodemanager的地址和端口。nodermanager利用这个地址通过心跳机制与RM通信。
正常情况下我的NM应该与RM通信,但是NM却一直与0.0.0.0通信.因此查阅官方默认的yarn-site.xml配置文件,发现其中yarn.resourcemanager.hostname的默认值被设置成:0.0.0.0了(怪不得一直与0.0.0.0通信)。发现原来是我设置的主机ip在这里没有生效。
在yarn-site.xml中添加一项新的项,将yarn.resourcemanager.hostname的值修改为master机器的ip地址。(127.0.0.1)

注:nodemanager启动后要通过心跳机制定期与RM通信,否则RM会认为NM死掉,会停止NM的服务

http://my.oschina.net/u/1451042/blog/223235

hadoop2.x常用端口及定义方法:http://blog.csdn.net/ff19910203/article/details/24986333

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值