hbase的搭建是比较简单的,无论是单机模式还是分布式都相对容易。本人选择的是1.3.1的版本,按照官方的文档很快就搭建起来了,但是启动的时候出现了错误。无论是baidu还是google都没有找到答案,起初还以为是版本差异,然后使用了1.2.6版本,结果还是原来的错误,看了错误日志之后也是云里雾里的,后来无意间发现了问题的根源,然后 继续使用1.3.1了,在这里记录一下。
在搭建Hbase之前,我已经搭建好了Hadoop和Zookeeper,搭建的资料网上也比较多。所以没有搭建好这两个环境的需要先搭建一下。
搭建的时候可以直接参考官方文档就好,文档上面介绍的已经非常清楚了。下面我就按照官方的思路走一遍搭建过程。
首先介绍一下我手中的机器,我一共有三个机器,搭建规划就是下面的表格中的样子。
Node Name | Master | ZooKeeper | RegionServer |
---|---|---|---|
centos1 | yes | yes | yes |
centos2 | no | yes | yes |
centos3 | backup | yes | yes |
可以说是与官方的大同小异。其中以centos1作为主节点,centos3作为备用主节点。
1.首先将下载好的hbase解压到文件夹中,我这里是解压到了/opt中(以下操作均在centos1节点上进行)。
tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/
2.配置一下环境变量,这个也不是必须的,也就是以后启动的时候方便一点,修改/etc/profile,添加:
export HBASE_HOME=/opt/hbase-1.3.1
export PATH=${HBASE_HOME}/bin:$PATH
3.编辑hbase中的conf/regionservers,把原来的localhost删除点,写上想要作为regionservers的节点。我这里直接写的就是centos1、centos2、centos3.
4.按照官方的步骤接下来是在conf目录中创建一个backup-masters的文件,其中写上想要作为备用主节点节点名,所以我这里写的就是centos3了。
5.编辑conf/hbase-env.sh文件,修改里面的JAVA_HOME和HBASE_MANAGES_ZK的值。将JAVA_HOME添加成环境中的java环境即可,HBASE_MANAGES_ZK修改为false。
export JAVA_HOME=/usr/local/jdk
export HBASE_MANAGES_ZK=false
JAVA_HOME就不用解释了,这是HBASE_MANAGES_ZK的描述:
Tell HBase whether it should manage it’s own instance of Zookeeper or not.
其实hbase里面自带了一个zookeeper,而这个属性的值就是是否使用这个自带的zookeeper,很显然我这里要使用自己的zookeeper,所以修改为false。
6.接下来修改hbase-site.xml中的配置信息。
<configuration>
<property>
<name>hbase.rootdir</name>
<valu