hadoop在linux操作系统中部署遇到的问题及解决方案
来源:互联网 发布:数据的独立性是指 编辑:程序博客网 时间:2024/05/22 10:20
本文用到的实验环境为ubuntu12.04、hadoop-1.2.1,其他的环境可以作为参考:
问题一:启动Hadoop,出现没有JobTracker和TaskTracker?
问题详细描述:我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
- hadoop在linux操作系统中部署遇到的问题及解决方案
- 在Eclipse中导入及部署JavaWeb项目遇到的问题及解决方案
- hadoop部署遇到的问题及解决办法
- IOS在项目中遇到的问题及解决方案
- OpenCMS部署流程及部署过程中遇到问题的解决方案
- 接触linux系统中遇到的各个问题及解决方案
- CentOS 6.2及最新操作系统部署Hadoop存在的问题
- 在linux环境下部署伪分布式hadoop遇到的问题
- 编译64位hadoop过程中遇到的问题及解决方案
- 项目中遇到的 问题及解决方案
- ssh应用部署时遇到的问题及解决方案
- hadoop运行时遇到的问题及解决方案
- 运行hadoop程序遇到的一些问题及解决方案
- hadoop环境配置过程中可能遇到问题的解决方案
- hadoop环境配置过程中可能遇到问题的解决方案
- hadoop环境配置过程中可能遇到问题的解决方案
- hadoop环境配置过程中可能遇到问题的解决方案
- Lucene在linux操作系统上的部署及demo使用方法
- Ubuntu12.04操作系统安装时,出现的问题及解决方案
- 《训练指南》中的“突击战”和分金币问题
- iOS画折线图
- lua 学习总结1:随笔
- Unity3D编辑器插件
- hadoop在linux操作系统中部署遇到的问题及解决方案
- windows git客户端安装
- J2EE学习从菜鸟变大鸟之五 JDBC(Java Data Base Connectivity)
- JAVA基础知识复习3
- JDBC的接口
- Binary Tree Level Order Traversal II 有不解。。。
- 九度OnlineJudge-堆栈的的使用(1108)
- java JDBC 数据库之间的知识点,以后会持续更新记录
- 应用程序挂起、复原与终止— IOS开发