读书人

hbase应用随记2

发布时间: 2012-07-02 17:46:22 作者: rapoo

hbase使用随记2

hbase安装过程中的错误解决:

在《hbase使用随机1》中描述了hbase安装的过程,下面是在安装过程中遇到的几个错误:

1、确认hadoop没有问题的情况下,启动hbase时出现了以下错误:

启动hbase后过了一段时间,出现以下错误HMaster: Shutting down HBase cluster: file system not available,导致整个hbase集群crash掉,google了一把,是这样回答的:

Let me also stress this point, no way can the namenode swap. The zookeeper
processes also require a highly responsive io channel (think dedicated or
non loaded disk).

?

If the regionservers start to swap you also risk serious problems.

?

You wouldn't force oracle or mysql to swap, so don't force hbase and hdfs to
swap!

?

You can't allow swapping.

?

按照上述的说法,是regionserver机器上swap导致的问题,于是我把所有regionserver的swap停掉(root用户,使用命令swapoff -a,使用该命令之前,用top命令查看swap是否在使用,否则可能会造成数据丢失,生产系统上慎用),启动hbase后问题果然得到解决!

?

2、按照《hbase使用随机1》中的描述进行了主机名与ip地址的映射(没有添加映射之前没有问题),结果在window上使用网页查看hadoop的时候,却出现了下面的问题:

访问hadoop地址:http://masterip:50070/dfshealth.jsp),其中的Browse the filesystem 是查看文件系统的入口,但是出现无法访问的问题,以下是查询到的解决办法:

通过firebug拦截请求发现,Browse the filesystem这个链接的页面会跳转到另外一个页面,而这个页面的地址是

http://testdb60(其中一台slave机器主机名):50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=%2F

看看nn_browsedfscontent.jsp的源代码:

?

??? 从代码可以看出,当我们点击Browse the filesystem 时后台会将请求随机转发到一—ataNode节点,使用的是slaves文件中配置的服务器列表所反解的域名或主机名,而通过局域网IP未能反解出域名和主机名,所以用的是IP,这样就出问题了,解决办法有两个:视redirectToRandomDataNode方法内生成的URL而定,如果反转域名是主机名的话,你只需要修改本地HOSTS映射就可以了(推荐使用Windows Hosts Editor,软件地址:http://yymmiinngg.iteye.com/blog/360779);如果反转出的域名是主机局域网IP的话,那就需要配置slaves和masters使用域名或外网IP。

?

根据以上解决办法,修改了windows的hosts(c:\windows\system32\driver\etc\hosts)文件,将hadoop集群中的主机名和ip地址映射添加上就可以了,当然如果是有dns服务器的话,就没这么麻烦了。

读书人网 >开源软件

热点推荐