Hbase安装模式介绍
单机模式
1> Hbase不使用HDFS,仅使用本地文件系统
2> ZooKeeper与Hbase运行在同一个JVM中
分布式模式
– 伪分布式模式
1> 所有进程运行在同一个节点上,不同进程运行在不同的JVM当中
2> 比较适合实验测试
– 完全分布式模式
1> 进程运行在多个服务器集群中
2> 分布式依赖于HDFS系统,因此布署Hbase之前一定要有一个正常工作的HDFS集群,hbase版本需与hadoop版本兼容,关于hbase和hadoop的版本对应信息,可参考官档的说明
http://hbase.apache.org/book/configuration.html#basic.prerequisites
单机hbase环境
Linux环境准备
关闭防火墙和SELinux
# service iptables stop
# chkconfig iptables off
# vim /etc/sysconfig/selinux
SELINUX=disabled
配置主机名及主机名绑定
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hbase
# vim /etc/hosts
192.168.0.30 hbase
Hbase的安装部署
在这里,下载的是1.2.6版本
解压到指定目录
# tar xvf hbase-1.2.6-bin.tar.gz -C /usr/local/
# cd /usr/local/hbase-1.2.6/
配置Hbase
# vim conf/hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_131
# mkdir /usr/local/hbase-1.2.6/data
# vim conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:/usr/local/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/data/zookeeper</value>
</property>
<!-- 设置是否分布式环境,false表示单机,默认为false -->
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
</configuration>
启动Hbase
# bin/start-hbase.sh
通过http://192.168.0.30:16010/master-status访问Hbase的web页面
至此,Hbase的单机模式环境搭建完毕.
备注:单机模式运行无需单独安装zookeeper,启动时默认使用hbase自带的zookeeper,默认端口2181,如果已经安装了zookeeper并启动,则启动时有可能会端口冲突,目前解决办法是修改安装的zookeeper的默认端口,如修改为2182等。(方法比较粗暴,有其他解决方式请在评论中指正)
分布式环境搭建
分布式需要安装hadoop,安装方式详见hadoop单机安装
其他准备工作与单机版安装一致,只是配置方式不同,比如有三台机器,主机名分别为master,slaves1,slaves2。其中master为主节点namenode,slaves1和slaves2为从节点datanode。
注:各主机系统时间需要同步,误差不能太大,否则会出现节点启动失败的情况。
修改hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131
# 是否使用自带zookeeper。 默认为true,如果单独安装了zookeeper则需显示设置为false,并需要在hbase-site.xml中指定zookeeper节点的主机名
export HBASE_MANAGES_ZK=false
修改hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<!-- “/hbase”前面的部分需要和hadoop中core-site.xml中的fs.default.name一致 -->
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<!-- 设置是否分布式环境,false表示单机,默认为false -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<!-- 此处配置主机名,多个主机之间用英文逗号隔开 -->
<value>master,slaves1,slaves2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/data/zookeeper</value>
</property>
</configuration>
修改slaves,将原来的localhost删除,添加slaves1和slaves2,修改后如下:
slaves1
slaves2
注:由于伪分布式环境没有使用自带的zookeeper,所以启动前需先启动zookeeper,否则使用hbase shell连接hbase时会无法连接。
配置完成后只需要在master节点执行start-hbase.sh即可启动集群。