我已经在伪分布式模式(machine-1)下安装了hadoop2.7.2,我想添加一个新的datanode使其成为cluster.as,但问题是这两台机器有不同的磁盘分区。
我在新的数据节点(machine-2)中安装了相同版本的hadoop2.7.2,也可以使用machine-1进行ssh。在google了很多网站之后,都有一些常见的教程提到,我们必须在里面有相同的配置文件 /etc/hadoop/
文件夹。
综上所述,我在machine-1中的现有配置是:
core-site.xml文件
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home1/tmp</value>
<description>A base for other temporary directories
<property>
<name>fs.default.name</name>
<value>hdfs://CP000187:9000</value>
</property>
<property>
<name>hadoop.proxyuser.vasanth.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.vasanth.groups</name>
<value>*</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home1/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home1/hadoop_store/hdfs/datanode</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
``` `/home1` 是安装在计算机1中的磁盘。
machine-2安装了两个磁盘,即/hdd1和/hdd2。
现在,我应该在 `hdfs-site.xml` 在新机器(机器2)上使用hdd1和hdd2?
应该是 `dfs.data.dir` 所有的节点都需要相同吗?
是 `dfs.namenode.name.dir` 上需要的属性 `hdfs-site.xml` 在machine2上(因为它不是名称节点)?
我的简化问题是,是否也必须在从属节点中复制主节点配置文件?请帮我解决这个。。
2条答案
按热度按时间hpcdzsge1#
您只需要将整个hadoop文件夹从node1复制到node2。所以在这两种配置中hdfs://cp000187:9000 . 您不必在node2中进行任何附加设置。
要在node2中启动datanode,请运行(从sbin)。只需在node2中运行datanode和nodemanager进程
要检查添加的datanode是否正确,请在node1中运行dfsadmin-report
输出:
wko9yo5t2#
在下面添加datanode检查
复制
core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml and hadoop-env.sh
文件到新机器hadoop目录在/etc/hosts中添加ip地址或主机名
在中添加新数据节点的ip地址
slaves file
(位于/etc/hadoop/
)如您所述,您有2个硬盘驱动器,请在中提及这些位置
hdfs-site.xml
文件如下<name>dfs.datanode.data.dir<name> <property>/hdd1,/hdd2<property>
重新启动服务