hadoop在linux操作系统中部署遇到的问题及解决方案

本文用到的实验环境为ubuntu12.04、hadoop-1.2.1,其他的环境可以作为参考:

问题一:启动Hadoop,出现没有JobTrackerTaskTracker

问题详细描述:我hadoop所有相关的操作多安装好了,例如:JDK、免密码ssh登录、hadoop相关的配置信息(core-site.xml、mapred-site.xml、hdfs-site.xml、masters、slvases、hadoop-env.sh),全部部署好后,登录名字节点,进行格式化集群,之后开启hadoop,

格式化集群命令:

         hadoop     namenode        -format

开启hadoop命令:(如果配置了hadoop环境变量,就可以直接用如下命令,如果没有要进入到hadoop的安装目录下的bin路径中,用如下命令

         start-all.sh

之后用jps在各个节点进行检测,发现在名字节点没有JobTracker进程,在数据节点没有TaskTracker进程。

 

解决方案:JobTracker进程和TaskTracker进程是任务监控进程,开启hadoop看不到的话,只能是配置文件的问题,打开相应的文件路径

(/home/hadoop/hadoop-1.2.1/conf/mapred-site.xml),文件内容如下所示:

<configuration>

<property>

    <name>mapred.job.tracker</name>

    <value>master:9001</value>

</property>

</configuration>

其中的master前面多了一个空格,出掉前面的空格,在从新启动hadoop,就把这个问题解决了。

参考文献:

http://blog.csdn.net/mydreamongo/article/details/8146036

http://blog.csdn.net/lawrencesgj/article/details/8292780

http://www.rigongyizu.com/hadoop-start-50030-50070-cannot-listen/

http://blog.itpub.net/354732/viewspace-721504/


问题二:启动Hadoop,出现没有DataNode

问题详细描述:我hadoop所有相关的操作多安装好了,例如:JDK、免密码ssh登录、hadoop相关的配置信息(core-site.xml、mapred-site.xml、hdfs-site.xml、masters、slvases、hadoop-env.sh),全部部署好后,登录名字节点,进行格式化集群,之后开启hadoop,

格式化集群命令:

         hadoop     namenode        -format

开启hadoop命令:(如果配置了hadoop环境变量,就可以直接用如下命令,如果没有要进入到hadoop的安装目录下的bin路径中,用如下命令

         start-all.sh

之后用jps在各个节点进行检测,发现在名字节点有JobTracker进程、Jps进程、SecondaryNameNode进程、NameNode进程四个进程,在数据节点有TaskTracker进程和Jps进程,但是没有DataNode进程

 

问题分析:这个问题,主要是在多次重复进行hadoop格式化操作引起的,在重复进行hadoop格式化后,namespaceID号变了,但是在数据节点相应的节点号没有改变,从而在启动hadoop集群的时候,就早不到数据节点的数据块,因此就不会再数据节点上出现DataNode进程。

 

解决方案:打开安装hadoop的安装路径,记得你在进行hadoop环境配置的时候,你创建了一个data文件,其中有如下文件信息(/home/hadoop/hadoop-1.2.1/data/hdfs/tmp、/home/hadoop/hadoop-1.2.1/data/hdfs/name、/home/hadoop/hadoop-1.2.1/data/hdfs/data)

第一步:在名字节点(主节点),找到namespaceID号,文件路径为:

         /home/hadoop/hadoop-1.2.1/data/hdfs/name/current/VERSION

查看命令:

         cat VERSION

找到namespaceID=1741324013

修改命令:

         sudo gedit  VERSION

 

同理打开相应的数据节点,修改相应的文件,文件路径为:

         /home/hadoop/hadoop-1.2.1/data/hdfs/data/current/VERSION

查看命令:

         cat VERSION

找到namespaceID=1983255719

修改命令:(修改这个数字与名字节点的查找的namespaceID数字一样的ID号)

         sudo gedit  VERSION

进行上面操作之后,在从新开启Hadoop集群,请不要在格式化了,不然又得这样重复操作。


问题三:hadoop常见的端口号,及对应的解释?

默认端口

设置位置

描述信息

9000

namenode

交互端口

8020

namenode

RPC交互端口

8021

 JT RPC

交互端口

50030

mapred.job.tracker.http.address JobTracker administrative web GUI

JOBTRACKER的HTTP服务器和端口

50070

dfs.http.address NameNode administrative web GUI

NAMENODE的HTTP服务器和端口

50010

dfs.datanode.address DataNode control port

DATANODE控制端口,主要用于DATANODE初始化时向NAMENODE提出注册和应答请求

50020

dfs.datanode.ipc.address DataNode IPC port, used for block transfer

 DATANODE的RPC服务器地址和端口

50060

 mapred.task.tracker.http.address Per TaskTracker web interface

TASKTRACKER的HTTP服务器和端口

50075

dfs.datanode.http.address Per DataNode web interface

DATANODE的HTTP服务器和端口

50090

dfs.secondary.http.address Per secondary NameNode web interface

辅助DATANODE的HTTP服务器和端

 

参考文献:

http://hi.baidu.com/chemical_liang/item/64e1b7eb3045143986d9deeb

 

问题四:网上blog友总结的hadoop常见问题汇总(网友原创,可行度还是蛮高

1.datanode节点TaskTracker任务启动,但是DataNode任务未启动

这一般是由于对hadoop进行升级后导致的,需要删除hadoop.tmp.dir所对应的文件夹,然后再对namenode进行重新格式化,删除之前先将数据导出,要不然数据就没了

 

2./lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录 

缺少 glibc.i686组件 

命令:yum installglibc.i686

 

3. hadoop-site.xml:1:1: 文件提前结束

hadoop目录下面conf文件夹中多了一个hadoop-site配置文件,在0.20.2版本之前,conf里面有一个 hadoop-site.xml文件,在0.20.0之后的版本 conf下没有这个hadoop-site.xml文件,取而代之的是三个文件,core-site.xml,hdfs-site.xml,mapred.xml

解决方法:删除conf文件夹下面的hadoop-site.xml就行

 

4.用eclipse连接集群查看文件信息提示9001端口拒绝连接的错误

Cannot connectto the Map/Reduce location: hadoop1.0.3

Call tolocalhost/127.0.0.1:9001 failed on connection exception:java.net.ConnectException: 拒绝连接

解决办法:配置都很正常,就是连接不了。后来重新配置hadoop location,把Map/Reduce Master 和 DFS Master中的Host由localhost改成了ip地址(192.168.33.164),然后问题就解决了。奇怪,localhost不就是本机嘛,而namenode主机(192.168.33.164)也是本机。

参考网址:

http://www.cnblogs.com/siwei1988/archive/2012/07/10/2585002.html

 

问题五:hadoop节点重启步骤

对于datanode可以在master中配置,然后在maste启动的时候,一并去启动这些节点 。
对于死掉的节点,也可以通过以下命令启动 。
重启挂掉的节点进入到 挂掉的机器 

重启命令:
bin/hadoop-daemon.shstart datanode     //启动数据节点
bin/hadoop-daemon.shstart tasktracker  //启动任务管理器
此时再在master上使用 ./hadoop dfsadmin -report   是就会发现这些节点已经启动起来 。

参考文章:

http://blog.csdn.net/chenyi8888/article/details/7564943

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值