无法正常启动hadoop datanode

时间:2014-03-07 02:48:52

标签: hadoop hadoop2

我正在尝试安装hadoop 2.2.0我在启动dataenode服务时遇到了一些错误请帮我解决这个问题。谢谢你提前。

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 FATAL 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的服务 java.io.IOException:/ home / prassanna / usr / local / hadoop / yarn_data / hdfs / datanode中不兼容的clusterID: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)     在org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219)     在org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:837)     在org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808)     at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280)     在org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222)     在org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664)     在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的服务 2014-03-11 08:48:16,532 INFO org.apache.hadoop.hdfs.server.datanode.DataNode:已删除块池BP-611836968-127.0.1.1-1394507838610(存储ID 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 INFO org.apache.hadoop.util.ExitUtil:退出状态0 2014-03-11 08:48:18,536 INFO org.apache.hadoop.hdfs.server.datanode.DataNode:SHUTDOWN_MSG: / * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** SHUTDOWN_MSG:在prassanna-Studio-1558 / 127.0.1.1上关闭DataNode

3 个答案:

答案 0 :(得分:4)

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

我使用此链接在我的机器中设置hadoop并且工作正常。

答案 1 :(得分:3)

这只是表明datanode试图启动但是有些例外并且死了。

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

答案 2 :(得分: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需要SSH访问来管理其节点,即远程计算机和本地计算机,如果您想在其上使用Hadoop(这是我们想要在这个简短的教程中做的)。对于我们的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的目录。

在编辑此文件之前,我们需要创建两个目录,其中包含此Hadoop安装的namenode和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