接上一篇,安装完hadoop,zookeeper后开始安装hbase。
5、HBase集群安装配置
5.1、修改hbase配置文件
在centos系统下解压hbase安装包hbase-0.94.26-jar—>/usr/new/hadoop,重命名为hbase.
修改conf目录下的3个文件:
1)hbase-env.sh
exportJAVA_HOME=/usr/jdk1.8 //JDK安装目录
exportHBASE_CLASSPATH=/usr/new/hbase/conf //hbase的安装目录
exportHBASE_MANAGES_ZK=false //使用独立的zookeeper,无需hbase管理
2)hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://172.31.62.51:9000/hbase</value>
<description>这个目录是region server的共享目录,用来持久化Hbase.地址设置为namenode的地址,需要与hadoop配置中core-site.xml的fs.default.name属性保持一致。目录默认保存在/tmp下,若无更改,数据会在重启时丢失</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>Hbase运行模式,true代表分布式</description>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
<description>Property fromZooKeeper's config zoo.cfg.The port at which the clients willconnect.
</description>
</property>
<property>
<name>hbase.zookeeper.property.tickTime</name>
<value>6000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Master,Slave1,Slave2,Slave3</value>
<description>zookeeper集群的地址列表,用逗号分隔,实验中把master也加了进去,其实最好是用基数台(zookeeper集群中,down掉的设备过半则集群对外不可用,所以3台时,其容忍度为1,4台时容忍度同样为1,为了高效,配基数台)</description>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/new/hbase</value>
<description>本地文件系统的临时文件夹,最好更改到更为持久的目录上(默认/tmp)<description>
</property>
</configuration>
此外,还有几个参数含义:
hbase.master是指定运行HMaster的服务器及端口号;hbase.master.maxclockskew是用来防止HBase节点之间时间不一致造成regionserver启动失败dfs.replication设置数据备份数,集群节点小于3时需要修改,clientPort是客户端的通信端口号,与zoo.cfg文件中的clientPort对应。
3)regionservers
Master
Slave1
Slave2
Slave3
设置所运行HBase的机器,此文件配置和hadoop中的slaves类似,一行指定一台机器.
4)替换hadoop包
Hbase自带的hadoop与我们之前安装的包版本不一致,需替换。其hadoop包在/lib目录下,全部删除后用hadoop-core-1.2.1.jar替换之。在运行过程中会发现hbase报缺失configuration类之类的错误,应该还要把hadoop下的commons-configuration-1.6.jar 拷到hbase/lib/下
cp /usr/new/hadoop/lib/commons-configuration-1.6.jar /usr/new/hbase/lib
5.2、同步安装包
将解压修改后的hbase文件夹分别拷贝到Slave1、Slave2、Slave3的相同hbase安装路径下。
scp -r /usr/hadoop/hbase hadoop@Slave1:/usr/new/
此处要注意相应的文件夹权限,不可直接放在/usr下。
5.3、启动HBase
在/etc/profile中添加hbase的路径
#sethbase path
exportHBASE_HOME=/usr/new/hbase
exportPATH=$PATH:$HBASE_HOME/bin
source/etc/profile //必须更新此文件
执行以下操作:
start-hbase.sh //之后用jps查看是否所有进程都已启动
至此,hbase服务配置过程结束。可通过浏览器地址http://10.10.10.213:60010 查看hbase是否可用。