hbase java.lang.IllegalArgumentException: Could...

某天早晨修改了hbase集群中一个节点的主机名称,结果HMaster无法启动。

主机修改了新的hostname,同时修改了master,regionserver节点,并修改了/etc/hosts,但是启动时发现仍然会解析老的hostnames,报告如下异常:

2012-09-04 11:13:26,215 ERROR org.apache.hadoop.hbase.HServerAddress: Could not resolve the DNS name of XXX
2012-09-04 11:13:26,216 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
java.lang.IllegalArgumentException: hostname can't be null
...................................
 
重启服务器仍旧报出以上错误。
 最发现是hbase的一个bug,bug解释如下https://issues.apache.org/jira/browse/HBASE-3478 (找到这个的时候,无语了也豁达了!!!)

原因:hostnames被存在.meta表里,但是修改了新的hostname之后,因为hbase自身没有检测机制,所以不会对原来的hostname更新,导致还是访问老的hostname,使得程序无法起动。

因为是测试环境为了省事直接format namenode,删除dn里数据,问题解决。

你可能感兴趣的:(hbase,无法启动,hmaster)