Hadoop集群机器命名机制

来源:互联网 发布:linux rpm安装包在哪 编辑:程序博客网 时间:2024/05/16 16:00
最近在公司机房安装了Hadoop集群,使用start-all.sh启动机器的时候,发现日志文件记录了一个这样的ERROR
2011-08-24 10:08:53,632 ERRORorg.apache.hadoop.metrics2.impl.MetricsSystemImpl: Error gettinglocalhost name. Using 'localhost'...
java.net.UnknownHostException: Master: Master
       atjava.net.InetAddress.getLocalHost(InetAddress.java:1354)
       atorg.apache.hadoop.metrics2.impl.MetricsSystemImpl.getHostname(MetricsSystemImpl.java:463)
       atorg.apache.hadoop.metrics2.impl.MetricsSystemImpl.configureSystem(MetricsSystemImpl.java:394)
       atorg.apache.hadoop.metrics2.impl.MetricsSystemImpl.configure(MetricsSystemImpl.java:390)
       atorg.apache.hadoop.metrics2.impl.MetricsSystemImpl.start(MetricsSystemImpl.java:152)
       atorg.apache.hadoop.metrics2.impl.MetricsSystemImpl.init(MetricsSystemImpl.java:133)
       atorg.apache.hadoop.metrics2.lib.DefaultMetricsSystem.init(DefaultMetricsSystem.java:40)
       atorg.apache.hadoop.metrics2.lib.DefaultMetricsSystem.initialize(DefaultMetricsSystem.java:50)
       atorg.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1152)
       atorg.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1162)
虽然系统抛出这个错误,但是并不影响咋对hadoop的使用,就一直没管它。
但是今天运行hadoop fsck /-files -blocks 查看集群块的状态的时候,也同样抛出了这个异常,导致操作失败,因此我就注意这个问题了。
其实修正很简单。是由于配置错误引起的。以CentOS5.6例子
在/etc/sysconfig/network中把机器名配置成hostname.localdomain形式
在/etc/hosts中添加 127.0.0.1hostname.localdomain hostname
然后service network restart
再次输入hadoop fsck / -files -blocks 一切OK。