-
hadoop与DNS与IP解析5
现在我的hadoop搭建完毕后,mapreduce无法完成。
13/07/18 01:59:42 INFO mapred.JobClient: Running job: job_201307180157_0001 13/07/18 01:59:43 INFO mapred.JobClient: map 0% reduce 0% 13/07/18 01:59:52 INFO mapred.JobClient: map 50% reduce 0% 13/07/18 01:59:55 INFO mapred.JobClient: map 100% reduce 0% 13/07/18 02:07:48 INFO mapred.JobClient: Task Id : attempt_201307180157_0001_m_000000_0, Status : FAILED Too many fetch-failures 13/07/18 02:07:48 WARN mapred.JobClient: Error reading task outputConnection refused 13/07/18 02:07:48 WARN mapred.JobClient: Error reading task outputConnection refused
原因在于,我的局域网是带有DNS的,在解析域名的时候, 发生了问题。
访问http://10.30.7.111:50030/jobtracker.jsp 能看到问题所在:<tbody><tr><td align="center" colspan="6"><b>Task Trackers</b></td></tr> <tr><td><b>Name</b></td><td><b>Host</b></td><td><b># running tasks</b></td><td><b>Max Map Tasks</b></td><td><b>Max Reduce Tasks</b></td><td><b>Failures</b></td><td><b>Seconds since heartbeat</b></td></tr> <tr><td><a href="http://180.168.41.175:50060/">tracker_180.168.41.175:127.0.0.1/127.0.0.1:32769</a></td><td>180.168.41.175</td><td>1</td><td>2</td><td>2</td><td>7</td><td>2</td></tr> <tr><td><a href="http://180.168.41.175:50060/">tracker_180.168.41.175:127.0.0.1/127.0.0.1:32874</a></td><td>180.168.41.175</td><td>0</td><td>2</td><td>2</td><td>0</td><td>2</td></tr> </tbody>
即解析datanode时候,没有解析到,导致超时,然后too many fetch failure.
现在问题阐述如下:
我的机器名:即hostname
hadoop.h1 masters
hadoop.h2 slaves
hadoop.h3 slaves
但是我在配置文件里面用的都是hadoop1:9000,hadoop1:9001,包括slaves,masters
/etc/hosts里面也是
10.30.7.111 hadoop1
10.30.7.120 hadoop2
10.30.7.121 hadoop3
...
然后我发现,hadoop启动的时候,STARTUP_MSG: Starting NameNode STARTUP_MSG: host = hadoop.h1/180.168.41.175 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 0.20.2 STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010
这个不正确的ip让我百思不得其解。
经过自己琢磨研究org.apache.hadoop.hdfs.server.namenode.NameNode
,结论如下
这个java.net.InetAddress 类找抽啊,他拿hostIP的时候,是根据hostname得出结果,再去/etc/hosts找映射,我的hsotsname是hadoop.h1,根本找不到。hosts里面全都是hadoop1,2,3的映射~~电信DNS如果找不到这个域名的话,就返回180这个ip了,这rule也找死,配这么个摸不着头脑的rule。。。
所以,hosts文件里面又多了几行
10.30.7.111 hadoop.h1
10.30.7.120 hadoop.h2
10.30.7.121 hadoop.h3
终于,启动日志回复了正常STARTUP_MSG: Starting NameNode STARTUP_MSG: host = hadoop.h1/10.30.7.111 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 0.20.2 STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:17:01 UTC 2010
尽管如此,mapreduce还是不能正确通过,因为datanode地址被硬生生地解析成了180.
hadoop启动里面也没有日志可看。这可让人难以琢磨。请大家帮忙看看,这样配置以后,为什么hadoop程序还是返回了180给datanode,莫非,还有其他的域名需要写在hosts中?
(ssh均配置正确,都能互访)
请帮忙想想,hadoop程序到底使用什么域名去取ip地址的!
2013年7月17日 18:42
目前还没有答案
相关推荐
在生产环境中部署Hadoop集群时,为了提高系统的可扩展性、可靠性和易管理性,通常会采用DNS服务来替代传统的/etc/hosts文件进行主机名与IP地址之间的解析。这种方式不仅简化了网络配置,还能够有效地减少维护工作量...
- **DNS配置文件**(`/etc/resolv.conf`):添加DNS服务器的IP地址,以便系统能够解析主机名。 - **主机名配置文件**(`/etc/hostname`):设置你的服务器的主机名。 - **重启网络服务**:执行`systemctl restart...
接着,添加网关、子网掩码和DNS解析服务器的信息,这些信息可以从VMware的网络设置中获取。保存修改并重启网络服务,确保IP已更改为静态。 其次,配置主机名是非常重要的一步,这有助于节点之间的识别。在`/etc/...
可以在`/etc/hosts`文件中添加主机名与IP地址的映射关系。 **命令示例**: ```bash # 编辑 /etc/hosts 文件 # 添加以下内容 192.168.1.10 h1 ``` ##### 4. 重启网络服务 重启网络服务使配置生效。 **命令示例**:...
这里192.168.1.126这个是指Master机器IP地址,当然可以使用Ubuntu1主机名,条件是DNS能够解析,否则会有问题,datanode连接namenode时会报连接不上的错误。所以实际应用中根据Master机器的IP来更改吧,最好使用IP...
同时,还需要配置DNS解析,如在`/etc/resolv.conf`中添加DNS服务器。 10. **文件传输**: 文件的上传和下载可以通过FileZilla等FTP工具完成,它能方便地在本地和集群之间传输文件。 11. **监控和管理**: 安装`...
1. 网络配置:所有节点需要在同一个网络环境中,配置正确的IP地址和DNS解析,确保节点间的通信畅通。 2. 修改主机名:为了便于管理和识别,应为每个节点分配一个有意义的主机名,并确保所有节点之间能通过主机名...
这里列出了master和多个slave节点的IP地址与主机名映射,这是实现节点间正确识别的关键。 ### 3. 用户与权限管理 为了统一管理和简化操作,创建了“hadoop”用户组和同名用户。这一步对于后续安装Hadoop、HBase和...
主机地址映射通过编辑`/etc/hosts`文件完成,将所有主机的IP地址与主机名一一对应,这样可以在集群内通过主机名直接访问,而无需依赖DNS解析。为了确保配置的同步,需要将hosts文件通过SSH发送到集群中的所有其他...
3. **设置DNS解析**:由于Hadoop集群中的节点需要通过主机名互相访问,所以需要在`/etc/hosts`文件中添加IP地址和主机名的映射,以实现DNS解析。 4. **SSH免密码登陆**:为了简化节点间的通信,我们需要设置SSH免...
这将有助于在Linux集群环境中实现高效且方便的主机名与IP地址的自动解析。记得定期备份DNS配置和数据,以防止意外丢失。同时,保持DNS服务器的安全性,限制不必要的更新访问,防止DNS劫持等安全问题。
- **删除host命令**: 避免DNS解析问题。 - **修改vm参数和sshd配置**: 支持SSH无密码登录。 - **创建安装准备目录**: 为离线安装做准备。 #### 3、CDH的安装 **3.1 CDH的下载** - **CM软件**: 下载Cloudera ...
在开始深入Kerberos与Hadoop的集成之前,我们先回顾一下如何搭建一个基本的Hadoop集群,这一步是后续进行Kerberos认证的基础。 ##### 1.1 部署前提条件 - **硬件准备**:确保每台机器至少有2GB内存,足够的硬盘...
如果遇到主机名解析问题导致无法ping通,可以在每台机器的`/etc/hosts`文件中添加IP和主机名的映射关系,或者配置DNS服务器。对于本文档中的四台机器,`/etc/hosts`文件应包含以下内容: ``` <IP_of_master> master...
- **配置DNS解析:** 编辑`/etc/resolv.conf`文件,添加DNS服务器地址,例如`nameserver 192.168.1.1`。 - **防火墙关闭:** 使用`service iptables stop`和`chkconfig iptables off`命令来关闭防火墙。 - **重启...
在Hadoop集群中,需要将所有节点的主机名和IP地址添加到每个节点的`/etc/hosts` 文件中,确保节点间可以无需DNS解析地相互访问。 ### 3. SSH无密码验证配置 SSH(Secure Shell)用于远程登录和命令执行,配置SSH无...
此外,还需要设置好DNS解析,使各个节点可以通过主机名互相访问。 #### 二、JDK安装 - 在所有节点上安装Java环境。因为Hadoop是由Java编写的,所以需要安装JDK而不是仅安装JRE。推荐安装OpenJDK或Oracle JDK 8及...
在实际操作中,可能还会遇到如防火墙设置、DNS解析等问题,需根据具体情况进行调整。务必确保网络通畅,且客户端的配置与Hadoop集群的配置相匹配。 总之,连接Windows客户端到Hadoop HDFS需要正确配置客户端环境、...