本文是介绍如何在hadoop 0.20.2上进行hbase 0.90.5的完全分布式安装。
一。先介绍当前环境情况
JDK7+Hadoop 0.20.2
本集群有三个节点,分别为:
二。HBase的安装
1.下载hbase 0.90.5版本,该版本匹配hadoop 0.20.2
下载地址可以在官网上下载,也可以点击下面链接下载:
2.解压到本机指定目录中,当前我使用的是/home/long1657/hbase
解压命令:tar zxvf hbase-0.90.5.tar.gz
3.配置hbase(具体配置不可完全照抄,需要根据实际情况进行修改)
(1).配置环境变量:主要是在conf/hbase-env.sh中添加对JDK和Hadoop的指定,如下图:
(2).配置hbase-size.xml
<configuration>
<property>
<!-设置hbase数据库存放数据的目录-->
<name>hbase.rootdir</name>
<value>hdfs://long1657-06:9000/hbase</value>
</property>
<property>
<!--打开hbase分布模式-->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!--指定hbase集群主控节点-->
<name>hbase.master</name>
<value>long1657-06:60000</value>
</property>
<property>
<!--指定zookeeper集群节点名,必须为奇数-->
<name>hbase.zookeeper.quorum</name>
<value>long1657-06,long1657-04,long1657-05</value>
</property>
<property>
<!--指zookeeper集群data目录-->
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/long1657/hbase/zookeeper</value>
</property>
</configuration>
注:上面的数据目录建议设置,因为Linux默认会把数据存放在/tmp目录下,当Linux重启后会清空/tmp目录,那时你的数据可就找不回来啦!
(3)配置conf/regionservers文件
(4)替换hbase自带的hadoop包
删除hbase-0.90.5/lib目录下的hadoop-core-0.20-append-r1056497.jar,再cp hadoop目录下的hadoop-0.20.2-core.jar到hbase-0.90.5/lib目录。
(5).将修改好的hbase-0.90.5软件目录同步到所有节点,我的集群中h1 同步到 h2 h4
scp -r hbase long1657-04:/home/long1657/
scr -r hbase long1657-05:/home/long1657/
参数 -r 指定拷贝目录,不写指定拷贝文件
(6).启动/关闭HBase集群做完以上的配置我们就可以启动HBase集群,在启动之前我们要检查一下Hadoop集群是否启动,必须先启动Hadoop再启动HBase,因为Hadoop是HBase的宿主。
启动命令:bin/start-hbase.sh
其中HQuorumPeer是Zookeeper集群进程,HMaster是Hbase集群的主控进程
查看datanode上的jps情况如下:
存在HRegionServer和HQuorumPeer分别为:Hbase集群的Region服务器和 zookeeper集群进程
通过浏览: http://long1657-06:60010/master.jsp
通过上诉显示,可以表明整个HBase安装成功!
关闭命令:bin/stop-hbase.sh