您的位置:首页 > 运维架构

大讲台谈Hadoop启动常见的问题及解决方案(一)

2015-08-12 18:52 543 查看
本文中所涉及到的问题均来自大讲台Hadoop学员的提问,下面是具体问题描述及解决方案,希望对正在学hadoop的学子有所帮助。

问题1:启动Hadoop后发现datanode无法启动?

问题描述:我启动hadoop的时候,datanode 启动不了,发现日志里面报错:

ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException:Incompatible namespaceIDs in /home/hadoop/hadoop-1.0.3/data: namenodenamespaceID = 691360530; datanode namespaceID = 2008526552

atorg.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition

(DataStorage.java:232)

atorg.apache.hadoop.hdfs.server.datanode.DataStorage

.recoverTransitionRead(DataStorage.java:147)

atorg.apache.hadoop.hdfs.server.datanode.DataNode

.startDataNode(DataNode.java:385)

atorg.apache.hadoop.hdfs.server.datanode.DataNode

.<init>(DataNode.java:299)

at org.apache.hadoop.hdfs.server.datanode.DataNode.

makeInstance(DataNode.java:1582)

atorg.apache.hadoop.hdfs.server.datanode.DataNode

.instantiateDataNode(DataNode.java:1521)

atorg.apache.hadoop.hdfs.server.datanode.DataNode

.createDataNode(DataNode.java:1539)

atorg.apache.hadoop.hdfs.server.datanode.DataNode

.secureMain(DataNode.java:1665)

atorg.apache.hadoop.hdfs.server.datanode.DataNode

.main(DataNode.java:1682)

解决方案

(1)停掉集群服务:sbin/stop-all.sh

(2)在出问题的datanode节点上删除data目录,data目录即是在hdfs-site.xml文件中配置的dfs.datanode.data.dir目录。

(3)格式化namenode:bin/hadoop namenode -format

(4)重新启动集群:sbin/start-all.sh

问题2:每次启动hadoop之前需要每次都运行一次hadoop namenode -format 吗?

问题描述:每次启动hadoop之前需要每次都运行一次hadoop namenode -format 吗?

解决方案

第一次安装hadoop集群的时候,需要运行hadoop namenode -format格式化文件系统,初始化一些目录和文件。后面每次启动hadoop集群的时候,就不需要每次运行hadoop namenode -format。除非不得已,否则不要轻易格式化文件系统,格式化文件系统会建立新的dfs name dir目录,造成该目录下之前数据的丢失。

问题3:hadoop可以从其它数据库读取数据吗?

问题描述:我们公司让搞hadoop,我想知道的是hadoop可以从其它数据库读取数据吗?

解决方案:hadoop可以从数据库读取数据。

hadoop技术推出一度曾遭到关系数据库研究者的挑衅和批评,认为MapReduce不具有关系数据库中的结构化数据存储和处理能力。为 此,hadoop社区和研究人员做了多的努力,在hadoop0.19版支持MapReduce访问关系数据库,如:MySQL、Mongodb、PostgreSQL、Oracle 等几个数据库系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: