hadoop没有数据节点启动

时间:2014-06-06 11:53:59

标签: hadoop hdfs

我正在学习本教程。

http://hadoop.apache.org/docs/r2.4.0/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

我到了这一步并启动了节点。

Start NameNode daemon and DataNode daemon:

$ sbin/start-dfs.sh

但是当我运行接下来的步骤时,看起来没有数据节点正在运行(因为我得到错误这样说)。

为什么数据节点会关闭?我该如何解决这个问题?

以下是我的数据节点的日志。

hduser@test02:/usr/local/hadoop$ jps
3792 SecondaryNameNode
3929 Jps
3258 NameNode
hduser@test02:/usr/local/hadoop$ cat /usr/local/hadoop/logs/hadoop-hduser-datanode-test02.out
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
 -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3781
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
hduser@test02:/usr/local/hadoop$

修改: 好像我的端口号错了。

<property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property>

现在当我做对了(即等于9000)时,我没有名字节点启动。

hduser@test02:/usr/local/hadoop$ jps
10423 DataNode
10938 Jps
10703 SecondaryNameNode

我无法浏览:

http://my-server-name:50070/

希望这会给你一些暗示正在发生的事情。

我是Hadoop的初学者,现在有点迷失。

[core-site.xml]

<configuration>

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/var/lib/hadoop/tmp</value>
  <description>A base for other temporary directories.</description>
</property>

</configuration>


[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>


</configuration>

在mapred-site.xml中我什么都没有。

4 个答案:

答案 0 :(得分:1)

1.首先停止所有实体,如namenode,datanode等(你将有一些脚本或命令来做)

  1. 格式化tmp目录

  2. 转到/var/cache/hadoop-hdfs/hdfs/dfs/并手动删除目录中的所有内容

  3. 现在再次格式化您的名字节目

  4. 启动所有实体,然后使用jps命令确认datanode已启动

  5. 现在运行您可能喜欢或拥有的任何应用程序。

  6. 希望这有帮助。

答案 1 :(得分:0)

添加此配置 的 CONF /芯-site.xml中

<property>
<name>hadoop.tmp.dir</name>
<value>/var/lib/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>

<强> CONF / mapred-site.xml中

<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>

<强> CONF / HDFS-site.xml中

<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>

停止hadoop

bin/stop-all.sh

更改权限并删除临时目录数据

chmod 755 /var/lib/hadoop/tmp
rm -Rf /var/lib/hadoop/tmp/*

格式名称节点

bin/hadoop namenode -format

答案 2 :(得分:0)

经过一天的奋斗,我刚刚删除了2.4版本并安装了Hadoop 2.2(因为我意识到2.2是最新的稳定版本)。然后我按照这个很好的教程完成了所有工作。

http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html?m=1

我正在阅读的这篇关于2.4的文件有些不对 不要说它不适合初学者,通常是初学者偶然发现它。

答案 3 :(得分:0)

也许您的奴隶的数据主数据未同步,删除数据&amp;在./hadoop/hdfs中命名文件夹并重新创建它们。重新格式化namenode。比启动dfs。