HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以5台机器为例,搭建一个简单的集群.
软件版本:hadoop-2.8.0,hbase-1.3.0,zookeeper-3.4.10
5台机器IP:192.168.70.101(c7001)、192.168.70.102(c7002)、192.168.70.103(c7003)、192.168.70.104(c7004)、192.168.70.105(c7005)
一.搭建Hadoop集群
参看:
二.安装zookeeper
参看:
三.部署hbase
1.解压缩hbase的软件包,使用命令:
tar -zxvf hbase-1.3.0-bin.tar.gz
2.进入hbase的配置目录,在hbase-env.sh文件里面加入java环境变量.即:
export JAVA_HOME=/opt/jdk1.8.0_121
#Hbase日志目录
export HBASE_LOG_DIR=/root/hadoop/hbase-0.94.6.1/logs
#如果使用HBase自带的Zookeeper值设成true 如果使用自己安装的Zookeeper需要将该值设为false
关闭HBase自带的Zookeeper,使用Zookeeper集群:
export HBASE_MANAGES_ZK=false
3. 编辑hbase-site.xml ,添加配置文件:
hbase.rootdir hdfs://c7001:8020/hbase hbase.cluster.distributed true hbase.master hdfs://master:60000 hbase.zookeeper.quorum c7003,c7004,c7005 hbase.zookeeper.property.dataDir /opt/hbase-1.3.0/tmp/zk/data
hbase.rootdir指定Hbase数据存储目录
hbase.cluster.distributed 指定是否是完全分布式模式,单机模式和伪分布式模式需要将该值设为false
hbase.master指定Master的位置
hbase.zookeeper.quorum 指定zooke的集群,多台机器以逗号分隔
4. 编辑配置目录下面的文件regionservers. 命令:
vi regionservers
加入如下内容:
c7004
c7005再修改Hadoop hdfs-site.xml下的一个属性值。(记得其他的datanode也要进行修改)
dfs.datanode.max.xcievers 4096
该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256,hadoop-defaults.xml中通常不设置这个参数。这个限制看来实际有些偏小,高 负载
5. 把Hbase复制到其他机器,命令如下:
[vagrant@c7003 opt]$ scp -r hbase-1.3.0 vagrant@c7004:/opt/
[vagrant@c7003 opt]$ scp -r hbase-1.3.0 vagrant@c7005:/opt/6. 在c7003机器开启hbase服务。命令如下:
启动顺序:先启动Hadoop-》hbase,如果使用自己安装的zookeeper启动顺序是:Hadoop-》zookeeper-》hbase
停止顺序:hbase->zookeeper->hadoop
[vagrant@c7003 hbase-1.3.0]$ bin/start-hbase.sh
在c7003、c7004、c7005中的任意一台机器使用bin/hbase shell 进入hbase自带的shell环境,然后使用命令version等,进行查看hbase信息及建立表等操作。
至此:
c7001、c7002、c7003、c7004、c7005集群各个进程情况如下所示: