我正在尝试安装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
答案 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