在上一篇zookeeper集群搭建的基础上搭建hbase
(https://editor.youkuaiyun.com/md/?articleId=106999738)
配置hbase-site.xml
切换到/opt/hbase/conf目录下
vi hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.109.110:9000/hbase</value> //hbase要部署在的namenodeIP
<description>The directory shared by region servers.</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop003,hadoop004,hadoop005</value> //主机列表
</property>
<property>
<name>hbase.regionserver.handler.count</name>
<value>300</value>
</property>
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>70</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000</value>
</property>
<property>
<name>hbase.regionserver.restart.on.zk.expire</name>
<value>true</value>
<description>
Zookeeper session expired will force regionserver exit.
Enable this will make the regionserver restart.
</description>
</property>
<property>
<name>hbase.replication</name>
<value>false</value>
</property>
<property>
<name>hfile.block.cache.size</name>
<value>0.4</value>
</property>
<property>
<name>hbase.regionserver.global.memstore.upperLimit</name>
<value>0.35</value>
</property>
<property>
<name>hbase.hregion.memstore.block.multiplier</name>
<value>8</value>
</property>
<property>
<name>hbase.server.thread.wakefrequency</name>
<value>100</value>
</property>
<property>
<name>hbase.master.distributed.log.splitting</name>
<value>false</value>
</property>
<property>
<name>hbase.regionserver.hlog.splitlog.writer.threads</name>
<value>3</value>
</property>
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>20</value>
</property>
<property>
<name>hbase.hregion.memstore.flush.size</name>
<value>134217728</value>
</property>
<property>
<name>hbase.hregion.memstore.mslab.enabled</name>
<value>true</value>
</property>
</configuration>
配置hbase.env.sh
vi hbase.env.sh
//依次环境变量内的内容
export JAVA_HOME=/opt/java8 //java路径
export HBASE_CLASSPATH=/opt/hadoop/etc/hadoop //hadoop配置文件
export HBASE_HEAPSIZE=4000
export HBASE_OFFHEAPSIZE=1G
export HBASE_OPTS="-Xmx4g -Xms4g -Xmn128m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:$HBASE_HOME/logs/gc-$(hostname)-hbase.log" //不能超过虚拟机最大内存
export HBASE_MANAGES_ZK=false
配置log4j.properties
vi log4j.properties
依次修改下面的代码
hbase.root.logger=WARN,console
log4j.logger.org.apache.hadoop.hbase=WARN
配置regionservers
vi regionservers
在文件中加如集群所有主机名
复制所有文件到集群内其他虚拟机内覆盖其文件
scp hbsite-site.xml root@192.168.56.111:/opt/hbase/conf
scp hbsite-env.sh root@192.168.56.111:/opt/hbase/conf
scp log4j.properties root@192.168.56.111:/opt/hbase/conf
scp regionservers root@192.168.56.111:/opt/hbase/conf
启动hbase
切换到/opt/hbase/bin目录下
./start-hbase.sh
校验配置是否正确
//jps查看每个节点是否有hbase进程
//输入命令再次校验
hbase shell
hbase>list