伪分布式模式下的多数据节点配置

llycmphe  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(502)

我是hadoop的新手。我已经在单机中设置了hadoop-伪分布式模式。默认为my 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-格式
全部启动.sh
日本
我有一个namenode和一个datanode。
我想在这台机器上有多个datanode,并尝试按以下建议进行配置:stackoverflow和my config:

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

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

rkttyhzu

rkttyhzu1#

这个链接答案的关键部分是,您必须为每个datanode示例维护不同的配置
你不能放两个 <name> 以及 <value> 节作为同一xml文件的一部分
您需要有两个单独的配置文件,每个datanode一个。
然而,我不完全确定是否有可能有两个 HADOOP_CONF_DIR 唯一hadoop进程的变量。也许有办法 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

我建议只使用两个独立的虚拟机,因为这将更符合现实世界的场景

相关问题