环境:
操作系统Centos 7 64-bit
3台节点
ip 主机名
10.91.99.101 master
10.91.99.102 slave1
10.91.99.103 slave2
10.91.99.104 slave3
三个节点上已经布署好hadoop集群并正常启动。
1、下载并解压hbase-1.0.3-bin.tar.gz到~/opt下
wget http://apache.opencas.org/hbase/hbase-1.0.3/hbase-1.0.3-bin.tar.gz
2、修改 hbase-env.sh ,hbase-site.xml,regionservers 这三个配置文件
2.1、 hbase-env.sh
vi hbase-env.sh
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64
export HBASE_HOME=/home/hs/opt/hbase-1.0.3
export HADOOP_HOME=/home/hs/opt/hadoop-2.7.2
export PATH=$PATH:/home/hs/opt/hbase-1.0.3/bin
export HBASE_MANAGES_ZK=false
需要注意的地方是 ZooKeeper的配置。这与 hbase-env.sh 文件相关,文件中
HBASE_MANAGES_ZK
环境变量用来设置是使用hbase默认自带的 Zookeeper还是使用独立的ZooKeeper。HBASE_MANAGES_ZK=false 时使用独立的,为true时使用默认自带的。
2.2、hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>r
<value>hdfs://master:9000/hbase</value>
//必须与hadoop主机名,端口号一致;Hbase该项并不识别机器IP,只能使用机器hostname才行
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave1,slave2,slave3</value>
//hbase.zookeeper.quorum 的个数必须是奇数
</property>
<property>
<name>hbase.master</name>
<value>master:60000</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>4180</value>
//必须与zookeeper的配置文件zoo.cfg里的配置项clientport一
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hs/opt/zookeeper-3.4.6/zoo_data</value>
</property>
</configuration>
2.3、regionservers文件配置
cat regionservers
slave1
slave2
slave3
3、将文件分发到集群其它节点上
scp -r hbase-1.0.3 hs@slave1:/home/hs/opt/
scp -r hbase-1.0.3 hs@slave2:/home/hs/opt/
scp -r hbase-1.0.3 hs@slave3:/home/hs/opt/
4、在HMaster即master启动HBase数据库(Hadoop集群必须已经启动)
启动命令(在master启动):
bin/start-hbase.sh (启动)
bin/stop-hbase.sh (停止)
bin/hbase shell (客户端连接测试)
jps 查看进程信息