我想通过talend从远程机器访问cloudera以获取大数据。为了做到这一点,我通过编辑文件/etc/hosts和/etc/sysconfig/network在cloudera中更改了主机的ip。我可以从塔伦德进入克劳德拉。但是问题是我的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)` 尽管我在core-site.xml、hdfs-site.xml和mapred-site.xml中做了修改,但datanode仍然使用了错误的ip地址(127.0.0.1)。
我按照本教程中给出的步骤进行操作:https://www.youtube.com/watch?v=fsgpyhjgiry
如何修复此错误?
1条答案
按热度按时间ioekq8ef1#
在debian 8上
/etc/hosts
将包含127.0.1.1的条目以及您在linux安装期间提供的主机名。cloudera将使用此ip地址提供一些服务。一个常规的hdfs将包含多个具有不同主机名/ip地址的服务器,并将列出允许的那些ip。正如您的日志所述,流量来自127.0.0.1,它不是主机名的ip地址。
对于cloudera单服务器设置,我发现的唯一方法是进行初始设置,以便
/etc/hosts
没有127.0.1.1条目。