hadoop-伪分布式模式下的多个datanode配置

时间:2018-11-14 04:14:14

标签: hadoop datanode

我是hadoop的新手。我已经设置了hadoop-单机上的伪分布式模式。我的hdfs-site.xml配置为默认设置:

<configuration>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/yarn_data/hdfs/namenode</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/yarn_data/hdfs/datanode</value>
</property>

运行后:

  

hdfs namenode -format
  start-all.sh
  jps

我有一个namenode和一个datanode。
我想在这台机器上有多个datanode,然后尝试按照以下建议进行配置:stackoverflow和我的配置:

<configuration>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/yarn_data/hdfs/namenode</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/yarn_data/hdfs/datanode-1</value>
    <name>dfs.datanode.address</name>
    <value>0.0.0.0:9870</value>
    <name>dfs.datanode.http.address</name>
    <value>0.0.0.0:9090</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/yarn_data/hdfs/datanode-2</value>
    <name>dfs.datanode.address</name>
    <value>0.0.0.0:9871</value>
    <name>dfs.datanode.http.address</name>
    <value>0.0.0.0:9091</value>
</property>

我获得了零数据节点。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

该链接答案的关键部分是您必须为每个数据节点实例维护不同的配置

您不能将两个<name><value>部分作为相同 XML文件的一部分

您需要具有两个单独的配置文件,每个数据节点一个。
 但是,我 我不能完全确定是否可以为唯一的Hadoop流程使用两个HADOOP_CONF_DIR变量。可能有一种方法hadoop --config /some/path datanode,但是start-dfs只是隐藏了使数据节点远离您的方式

话虽如此,假设您有export HADOOP_CONF_DIR=/etc/hadoop并且ls $HADOOP_CONF_DIR/hdfs-site.xml在工作,那么您可以在自己的终端中尝试以下操作

mkdir /etc/hadoop2
cp /etc/hadoop/* /etc/hadoop2/

# EDIT the new hdfs-site.xml file

hadoop --config /etc/hadoop2 datanode

我建议仅使用两个单独的虚拟机,因为这将更符合实际情况