Datanode未连接到Namenode cloudera

时间:2016-04-20 10:05:04

标签: hadoop configuration cloudera talend

我想通过Talend从远程机器访问cloudera以获取大数据。为了做到这一点,我通过编辑文件/ etc / hosts和/ etc / sysconfig / network来改变cloudera中主机的ip。 我可以从Talend访问cloudera。但问题是我的datanode和Namenode似乎没有连接。当我检查我的Datanode的日志详细信息时,我收到以下错误:

Block pool BP-1183376682-127.0.0.1-1433878467265 (Datanode Uuid null) service to quickstart.cloudera/127.0.0.1:8022 beginning handshake with NN

Initialization failed for Block pool BP-1183376682-127.0.0.1-1433878467265 (Datanode Uuid null) service to quickstart.cloudera/127.0.0.1:8022 Datanode denied communication with namenode because the host is not in the include-list: DatanodeRegistration(127.0.0.1, datanodeUuid=5802ab81-2c28-4beb-b155-cac31567d23a, infoPort=50075, ipcPort=50020, storageInfo=lv=-56;cid=CID-83500942-6c65-4ecd-a0c2-a448be86bcb0;nsid=975591446;c=0)

datanode仍然使用错误的ip地址(127.0.0.1),即使我在core-site.xml,hdfs-site.xml和mapred-site.xml中通过编辑新的ip地址进行了修改

我按照本教程中给出的步骤执行此操作: https://www.youtube.com/watch?v=fSGpYHjGIRY

我该如何解决此错误?

1 个答案:

答案 0 :(得分:0)

在Debian 8上,/etc/hosts将包含您在Linux安装期间提供的主机名127.0.1.1的条目。 Cloudera将使用此IP地址进行部分服务。

常规HDFS将包含多个具有不同主机名/ IP地址的服务器,并将列出这些IP。正如您的日志所示,流量来自127.0.0.1,这不是主机名的IP地址。

对于Cloudera单服务器设置,我找到的唯一方法是进行初始设置,/etc/hosts没有包含127.0.1.1条目。