集群机器的、/etc/hosts 文件配置成一样很重要。最好使用 scp 复制到各个几点
首先明确以下,我的问题不同于 多数问题(即:统一启动集群时,datacode 无法启动的问题。)
如标题所示,本文问题所指:《成功启动datanode (hadoop-daemon.sh start datanode). 也成功生成 文件夹 /root/hdpData/data/.
但是没有生成 current文件夹》。 也就是这个datanode 并没有加入到 Namenode 同个集群
我的环境:
配置机器:
A(namenode), /root/hdpData/name/current/* 成功
B,C,D 为datanode.,以B机器为例。
了解。B机器启动的过程,需要通过配置文件 向 namenode机器发出请求获取 集群id (cluster_id) 称为请求路径:
(namenode ip + 端口) 定义在core-site.xml
我的:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdp-01:9000</value>
</property>
。
那么没有生成current 文件夹问题就出现在。
我的粗心,上配置使用 hdp-01 是我的namenode机器的hostname. 我忘记提前加入到 datanode 这台服务器的/etc/hosts 中。因此机器找不到。
vi /etc/hosts 将 ip 匹配 hdp-01.
再重新 启动B机器的 datanode : hadoop-daemon.sh start datanod.
成功。
这样才请求 namenode 成功,获取和 namenode 一样的集群号