2014-03-07 51 views
2

我想安装hadoop 2.2.0我开始dataenode服务时遇到以下类型的错误,请帮我解决此问题。感谢提前。无法正常启动hadoop datanode

2014-03-11 08:48:16,406 INFO org.apache.hadoop.hdfs.server.common.Storage:锁定/ home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode/in_use .lock通过nodename获取3627 @ prassanna-Studio-1558 2014-03-11 08:48:16,426致命org.apache.hadoop.hdfs.server.datanode.DataNode:块池初始化失败块池BP-611836968-127.0 .1.1-1394507838610(存储ID DS-1960076343-127.0.1.1-50010-1394127604582)service localhost/127.0.0.1:9000 java.io.IOException:/ home/prassanna/usr/local/hadoop/yarn_data中的不兼容clusterID/hdfs/datanode:namenode clusterID = CID-fb61aa70-4b15-470e-a1d0-12653e357a10; datanode clusterID = CID-8bf63244-0510-4db6-a949-8f74b50f2be9 at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391) at org.apache.hadoop.hdfs.server .datanode.DataStorage.recoverTransitionRead(DataStorage.java:191) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219) at org.apache.hadoop.hdfs.server.datanode .DataNode.initStorage(DataNode.java:837) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808) at org.apache.hadoop.hdfs.server.datanode.BPOfferService .verifyAndSetNamespaceInfo(BPOfferService.java:280) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664) at java.lang.Thread.run(Thread.java:662) 2014-03-11 08:48: 16,427 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:结束块池服务:块池BP-611836968-127.0.1.1-1394507838610(存储ID DS-1960076343-127.0.1.1-50010-1394127604582)服务localhost/127.0.0.1:9000信息org.apache.hadoop.hdfs.server.datanode.DataNode:已删除块池BP-611836968-127.0.1.1-1394507838610(存储标识DS- 1960076343-127.0.1.1-50010-1394127604582) 2014-03-11 08:48:18,532 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:退出Datanode 2014-03-11 08:48:18,534信息org.apache.hadoop.util.ExitUtil:以状态0退出 2014-03-11 08:48:18,536 INFO org.apache.ha doop.hdfs.server.datanode.DataNode:SHUTDOWN_MSG: /* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** SHUTDOWN_MSG:在关闭的DataNode prassanna工作室-1558/127.0.1.1

+0

有没有在你的问题显示错误。请检查NameNode和DataNode日志文件。 – LeonardBlunderbuss

+0

我已经发布了我的datanode日志请告诉如何解决此问题 – user2631600

回答

3

这只是表明datanode试图启动,但采取了一些例外和死亡。

请检查hadoop安装文件夹中的日志文件夹下的datanode日志(除非您更改了该配置)以查找异常。它通常指向某种配置问题,特别是。网络设置(/ etc/hosts)相关,但有很多可能性。

+0

我发布了我的datanode日志请告诉如何解决此问题 – user2631600

+1

请格式化,删除并重新创建datanode,namenode文件夹,然后重试。 – Vishal

+0

嗨 rmdir -p yarn_data,mkdir -p yarn_data,bin/hadoop namenode -format,我试过这3个命令,但仍然面临同样的问题。实际上,当我试图从UI中看到datanode,namenode文件夹的内容在使用rmdir yarn_data cmd之前,我只能看到namenode的内容并且不允许看到datanode的内容,datanode文件夹显示ur不是所有者访问这个,所以,可能是由于访问问题导致了这个问题。请帮忙解决。谢谢提前。 – user2631600

4

确保您准备好了正确的配置和正确的路径。 这是Ubuntu的Running Hadoop的链接。

我已经使用这个链接来设置我的机器中的hadoop,它工作正常。

0

转寄此,

1.检查JAVA_HOME ---

readlink -f $(which java) 
    /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 

2.如果JAVA是不可用命令安装

sudo apt-get install defalul-jdk 

不是运行1和检查终端

java -version 
    javac -version 

3 。配置SSH

如果您希望在其上使用Hadoop(这是我们在此简短教程中所要做的),Hadoop需要SSH访问才能管理其节点,即远程计算机和本地计算机。对于我们的Hadoop单节点安装,因此我们需要为用户配置对本地主机的SSH访问。

sudo apt-get install ssh 
    sudo su hadoop 
    ssh-keygen -t rsa -P “” 
    cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys 
    ssh localhost 

下载和提取的Hadoop-2.7.3(Chosse dirrectory具有读写在未经许可)

设置的环境变量

sudo gedit .bashrc 
    source .bashrc 

安装配置文件

下列文件将不得不修改完成Hadoop设置:

~/.bashrc (Already done) 
(PATH)/etc/hadoop/hadoop-env.sh 
(PATH)/etc/hadoop/core-site.xml 
(PATH)/etc/hadoop/mapred-site.xml.template 
(PATH)/etc/hadoop/hdfs-site.xm 

gedit (PATH)/etc/hadoop/hadoop-env.sh 

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 

gedit (PATH)/etc/hadoop/core-site.xml: 

(HOME)/etc/hadoop/core-site.xml文件包含启动时Hadoop使用的配置属性。 该文件可用于覆盖Hadoop启动时的默认设置。

($ sudo mkdir -p /app/hadoop/tmp) 

打开文件,输入如下的<configuration></configuration>标签之间:

gedit /usr/local/hadoop/etc/hadoop/core-site.xml 
<configuration> 
<property> 
    <name>hadoop.tmp.dir</name> 
    <value>/app/hadoop/tmp</value> 
    <description>A base for other temporary directories.</description> 
</property> 

<property> 
    <name>fs.default.name</name> 
    <value>hdfs://localhost:54310</value> 
    <description>The name of the default file system. A URI whose 
    scheme and authority determine the FileSystem implementation. The 
    uri's scheme determines the config property (fs.SCHEME.impl) naming 
    the FileSystem implementation class. The uri's authority is used to 
    determine the host, port, etc. for a filesystem.</description> 
</property> 
</configuration> 


(PATH)/etc/hadoop/mapred-site.xml 

默认情况下,(PATH)/etc/hadoop/文件夹包含(PATH)/etc/hadoop/mapred-site.xml.template文件,该文件已被重命名/名为mapred-site.xml复制:

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml 

mapred-site.xml文件用于指定哪个框架正在用于MapReduce。

我们需要在<configuration></configuration>标签之间输入以下内容:

<configuration> 
    <property> 
     <name>mapred.job.tracker</name> 
     <value>localhost:54311</value> 
     <description>The host and port that the MapReduce job tracker runs 
     at. If "local", then jobs are run in-process as a single map 
     and reduce task. 
     </description> 
    </property> 
    </configuration> 

(PATH)/etc/hadoop/hdfs-site.xml 

(PATH)/etc/hadoop/hdfs-site.xml文件需要配置为集群中的每个主机正在使用。

它用于指定将用作该主机上的namenode和datanode的目录。

编辑此文件之前,我们需要创建两个目录,其中包含namenode和此Hadoop安装的datanode。

sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode 
sudo mkdir -p /usr/local/hadoop_store/hdfs/datanode 

打开文件,请在<configuration></configuration>标签之间的以下内容:

gedit (PATH)/etc/hadoop/hdfs-site.xml 

    <configuration> 
    <property> 
     <name>dfs.replication</name> 
     <value>1</value> 
     <description>Default block replication. 
     The actual number of replications can be specified when the file is created. 
     The default is used if replication is not specified in create time. 
     </description> 
    </property> 
    <property> 
     <name>dfs.namenode.name.dir</name> 
     <value>file:/usr/local/hadoop_store/hdfs/namenode</value> 
    </property> 
    <property> 
     <name>dfs.datanode.data.dir</name> 
     <value>file:/usr/local/hadoop_store/hdfs/datanode</value> 
    </property> 
    </configuration> 

格式的新的Hadoop文件系统

现在, 这可以用下面的命令来完成Hadoop文件系统需要格式化,以便我们可以开始使用它。 format命令应具有写权限发放,因为它/usr/local/hadoop_store/文件夹下创建当前目录:

bin/hadoop namenode -format 

bin/hdfs namenode -format 

HADOOP设置已经完成

现在启动HDFS

start-dfs.sh 
start-yarn.sh 

查看网址:http://localhost:50070/

停止HDFS

stop-dfs.sh 
stop-yarn.sh