今天是个特殊的日子,早上腾讯的一些服务挂了(腾讯旗下QQ邮箱、QQ群共享、群相册、QQ互联等服务出现大面积登陆故障),结果下午是全国*域名根服务器出现了故障,导致许多网站无法访问(全国所有通用*域的根出现异常,导致部分国内用户无法访问.com域名网站,对全国互联网链接造成系统性影响)。
腾讯http://tech.163.com/14/0121/11/9J40AHG7000915BF.html
域名新闻http://china.haiwainet.cn/n/2014/0121/c345646-20194770.html
上面的是今天互联网行业的两大新闻了。下面来说一下今天我遇到的问题。
今天更改了一些hbase的部署,结果竟然启动不了了,查看日志原因大概意思是说不能分配请求的地址。
日志异常信息:
DEBUG org.apache.hadoop.hbase.master.HMaster: Set serverside HConnection
retries=140
2014-01-21 09:10:55,878 ERROR
org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master
java.lang.RuntimeException: Failed construction of Master: class
org.apache.hadoop.hbase.master.HMaster
at
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2106)
at
org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:152)
at
org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:104)
at
org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at
org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76)
at
org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2120)
Caused by: java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind(Native Method)
at
sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:124)
at
sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at
org.apache.hadoop.hbase.ipc.HBaseServer.bind(HBaseServer.java:256)
at
org.apache.hadoop.hbase.ipc.HBaseServer$Listener.<init>(HBaseServer.java:482)
at
org.apache.hadoop.hbase.ipc.HBaseServer.<init>(HBaseServer.java:1559)
at
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.<init>(WritableRpcEngine.java:255)
at
org.apache.hadoop.hbase.ipc.WritableRpcEngine.getServer(WritableRpcEngine.java:204)
at
org.apache.hadoop.hbase.ipc.WritableRpcEngine.getServer(WritableRpcEngine.java:56)
at
org.apache.hadoop.hbase.ipc.HBaseRPC.getServer(HBaseRPC.java:330)
at
org.apache.hadoop.hbase.ipc.HBaseRPC.getServer(HBaseRPC.java:319)
at
org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:311)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2101)
... 5 more
查了一下原因,原来是我配置中映射的主机名和现在的主机名不否。
具体修改如下:
1、 vi /etc/sysconfig/network
HOSTNAME=master(master就是需要修改的主机名)
2、修改wannetwork文件后,通过命令hostname master是配置生效。(可以通过命令hostname直接查看是否修改)
3、重新启动hbase就好了。