hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本。
这里记录分布式集群搭建(注:没有安装独立的zookeeper,使用了hbase自带的zookeeper。)
1.准备好压缩包,配置环境
基于hadoop版本是hadoop2.5.x,hbase使用1.2.6
scp hbase-1.2.6-bin.tar.gz hadoop@master:~/tmp
配置.bash_profile环境(每个节点都要配)
export JAVA_HOME=/home/hadoop/env/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/home/hadoop/env/hadoop-2.5.0
export HBASE_HOME=/home/hadoop/env/hbase-1.2.6
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$PATH
source一下
2.配置hbase(主master节点配置)
export JAVA_HOME=/home/hadoop/env/jdk1.7.0_80
export HBASE_CLASSPATH=/home/hadoop/env/hbase-1.2.6/conf
此配置信息,设置由hbase自己管理zookeeper,不需要单独的zookeeper。
export HBASE_MANAGES_ZK=true
export HBASE_HOME=/home/hadoop/env/hbase-1.2.6/
export HADOOP_HOME=/home/hadoop/env/hadoop-2.5.0
Hbase日志目录
export HBASE_LOG_DIR=/home/hadoop/data/hbase/log
配置 hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>master:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
</configuration>
配置regionservers
master
slave1
slave2
3.拷贝到各个从节点
scp -r hbase-1.2.6/ hadoop@slave1:~/env
scp -r hbase-1.2.6/ hadoop@slave2:~/env
4.启动hbase
在主节点Master启动hbase
~/hbase/bin/start-hbase.sh
启动后,各个节点进程情况
Master
15558 NameNode # hadoop master进程
15815 ResourceManager # hadoop进程
17012 Jps
16505 HRegionServer
16376 HMaster # hbase master进程
16283 HQuorumPeer # zookeeper进程
Slave1
14289 NodeManager
14568 HRegionServer # hbase slave进程
14461 HQuorumPeer # zookeeper进程
15010 Jps
14128 DataNode # hadoop slave进程
14219 SecondaryNameNode
Slave2
7654 NodeManager
8273 Jps
7827 HQuorumPeer
7557 DataNode
7934 HRegionServer
HQuorumPeer表示hbase管理的zookeeper
QuorumPeerMain表示zookeeper独立的进程
5.页面端查看
http://172.16.30.100:16010/master-status
6.启动顺序
如果安装了独立的zookeeper
启动顺序: hadoop-> zookeeper-> hbase
停止顺序:hbase-> zookeeper-> hadoop
使用自带的zookeeper
启动顺序: hadoop-> hbase
停止顺序:hbase-> hadoop
重启hbase
~/hbase/bin/stop-hbase.sh
~/hadoop/sbin/stop-all.sh
~/hadoop/sbin/start-all.sh
~/hbase/bin/start-hbase.sh
注意事项:
1.如果各个节点时间不一致,会导致启动hbase之后,从节点的HRegionServer会很快退出。
虚拟机会出现时间静止,所以每次要同步时间
ntpdate ntp1.aliyun.com
2.把/etc/hosts的ipv6 localhost注释掉
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.30.100 master
172.16.30.101 slave1
172.16.30.102 slave2