首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置Hadoop生态系统的主机文件

如何配置Hadoop生态系统的主机文件
EN

Stack Overflow用户
提问于 2014-03-05 09:05:32
回答 3查看 20K关注 0票数 5

这个问题似乎很明显,但由于hadoop集群上主机文件配置不当,我已经多次面对这个问题。

有人能描述如何为hadoop和类似的环境使用(比如cloudera)设置主机文件和其他相关的网络配置吗?

特别是当我必须同时添加主机名和FQDN时

更新

以下是主机名为cdh4hdm的主机文件之一,具有hadoop的作用

代码语言:javascript
复制
 127.0.0.1       cdh4hdm        localhost
  #127.0.1.1      cdh4hdm 

 # The following lines are desirable for IPv6 capable hosts

   172.26.43.40    cdh4hdm.imp.co.in            kdc1
   172.26.43.41    cdh4hbm.imp.co.in   
   172.26.43.42    cdh4s1.imp.co.in    
   172.26.43.43    cdh4s2.imp.co.in    
   172.26.43.44    cdh4s3.imp.co.in    
   172.26.43.45    cdh4s4.imp.co.in    

   ::1     ip6-localhost ip6-loopback
   fe00::0 ip6-localnet
   ff00::0 ip6-mcastprefix
   ff02::1 ip6-allnodes
   ff02::2 ip6-allrouters 

请参阅附图

在集群中,一些节点正在获取FQDN,有些节点获得了主机名。

主机名的IP也不合适,显示的是127.0.0.1而不是主机IP

请建议

EN

回答 3

Stack Overflow用户

发布于 2014-03-13 10:03:51

用于UBUNTU

Hadoop集群的主机文件和其他配置

向所有集群机器提供主机名,这样在/etc/hostname文件中添加主机名为

代码语言:javascript
复制
hostname-of-machine

在所有主机上,主机文件应该如下所示:

主机

代码语言:javascript
复制
127.0.0.1       localhost
#127.0.1.1      localhost

<ip of host>    FQDN                hostname    other_name
172.26.43.10    cdh4hdm.domain.com  cdh4hdm     kdc1
172.26.43.11    cdh4hbm.domain.com  cdh4hbm
172.26.43.12    cdh4s1.domain.com   cdh4s1
172.26.43.13    cdh4s2.domain.com   cdh4s2
172.26.43.14    cdh4s3.domain.com   cdh4s3
172.26.43.15    cdh4s4.domain.com   cdh4s4

注意:确保注释第127.0.1.1行本地主机,这可能会在动物园管理员和集群中造成问题。

在/etc/ server中添加DNS服务器IP

resolve.conf

代码语言:javascript
复制
search domain.com
nameserver 10.0.1.1

要验证配置,请检查主机文件,您应该能够按主机名对所有计算机进行ping。

要在所有机器上检查主机名和FQDN,请运行以下命令:

代码语言:javascript
复制
hostname        //should return the hostname
hostname -f     //Fully Qualified Hostname
hostname -d     //Domain name

除了主机名之外,所有的命令对于RHEL都是一样的。

Source1Source2

票数 7
EN

Stack Overflow用户

发布于 2014-03-05 09:28:03

如果您指的是/etc/hosts文件,那么下面是我如何在hadoop集群中设置它:

代码语言:javascript
复制
127.0.0.1       localhost
192.168.0.5     master
192.168.0.6     slave1
192.168.0.7     slave2
192.168.0.18    slave3
192.168.0.3     slave4
192.168.0.4     slave5  nameOfCurrentMachine

,其中nameOfCurrentMachine是设置此文件的机器,用作slave5。有人说要删除第一行,但我没有遇到任何问题,也没有尝试删除。

然后,主节点中的$HADOOP_CONF_DIR/masters文件应该是:

代码语言:javascript
复制
master

主节点中的$HADOOP_CONF_DIR/slaves文件应该是:

代码语言:javascript
复制
slave1
slave2
slave3
slave4
slave5

在每个其他节点中,我只是简单地将这两个文件设置为包含以下内容:

代码语言:javascript
复制
localhost

您还应该确保可以在不使用密码的情况下从主节点到每个其他节点(使用它的名称,而不是它的IP)。这个职位描述了如何实现这一目标。

票数 4
EN

Stack Overflow用户

发布于 2017-12-28 06:55:16

​将从主机文件保持为

代码语言:javascript
复制
127.0.0.1 localhost

保持主主机文件为

代码语言:javascript
复制
private ip master
private ip slave1
private ip slave2
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22193051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档