0


Hbase分布式集群部署

一、环境说明

系统环境描述:本教程基于CentOS 8.0版本虚拟机
Hadoop集群:
节点NNNNJNZKFCZKDNRMNM****IPmaster192.168.31.215node1192.168.31.8node2192.168.31.9node3192.168.31.167node4192.168.31.154
Hbase 集群规划:
节点HMasterHRegionServerZKIPmaster192.168.31.215node1192.168.31.8node2192.168.31.9node3192.168.31.167node4*192.168.31.154
软件版本:
软件
*版本**jdk1.8.0_211zookeeper3.8.2Hbase2.5.5Hdoop3.3.4
提示:Hbase 是基于Hadoop的,在开始Hbase之前,需要确保你的Hadoop集群是可用的。同时,本次部署需要的zookeeper,我使用的是Hadoop集群中的,关于zookeeper的部署,这里不做描述。因为该文章是基于部署Hadoop之后,所以一些机器的基本配置这里不做描述,比如机器的免密登录,机器的hosts文件设置,包括基本的JDK安装等,如果对于这些部分有操作上的疑问,欢迎查看之前Hadoop的系列文章。具体可参考:一篇文章带你学会Hadoop-3.3.4集群部署_夜夜流光相皎洁_小宁的博客-CSDN博客

二、部署Hbase

2.1 解压Hbase

tar -zxvf hbase-2.5.5-bin.tar.gz

2.2 移动解压包

mv hbase-2.5.5 /usr/local/

2.3 修改 hbase-env.sh文件

cd /usr/local/hbase-2.5.5/conf
vim hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_211

2.4 修改环境变量

vim /etcprofile

export HBASE_HOME=/usr/local/hbase-2.5.5
export PATH=$PATH:$HBASE_HOME/bin

2.5 修改hbase-site.xml文件

vim hbase-site.xml

<!-- hbase是否部署为集群模式  -->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <!--zookeeper 集群ip -->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node2:2181,node3:2181,node4:2181</value>
  </property>
  <!--zookeeper data dir -->
  <property>
    <name>hbase.zoopkeeper.property.dataDir</name>
    <value>/usr/local/hbase-2.5.5/data/zookeeper</value> 
  </property>
  <!--要把hbase的数据存储hdfs上的路径 -->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
  </property>
  <!--hbase 数据目录 -->
   <property>
     <name>hbase.tmp.dir</name>
     <value>/usr/local/hbase-2.5.5/data/hbase/tmp</value>
   </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>

  <!-- Flink Secondary Index -->
  <property>
    <name>hbase.regionserver.wal.codec</name>
    <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
  </property>

  <property>
    <name>hbase.column.max.version</name>
    <value>2</value>
  </property>
  <property>
    <name>hbase.regionserver.global.memstore.size</name>
    <value>0.2</value>
  </property>
  <property>
    <name>hbase.regionserver.global.memstore.size.lower.limit</name>
    <value>0.8</value>
  </property>

  <!-- 实际的Block Size = Heap size * hfile.block.cache.size, 需要重启才能生效,HDFS读较多时,可以增加zhe -->
  <property>
    <name>hfile.block.cache.size</name>
    <value>0.2</value>
  </property>

  <!--bytes,每个用户写缓存数,默认2097152; 总消耗内存=hbase.client.write.buffer * hbase.regionserver.handler.count -->
  <property>
    <name>hbase.hregion.memstore.flush.size</name>
    <value>134217728</value>
  </property>

  <!--RPC handler,default 30-->
  <property>
    <name>dfs.namenode.service.handler.count</name>
    <value>48</value>
  </property>

  <!-- Phoenix error-->
  <property>
    <name>phoenix.coprocessor.maxServerCacheTimeToLiveMs</name>
    <value>300000</value>
  </property>

  <!-- Region Split Policy -->
  <property>
    <name>hbase.regionserver.region.split.policy</name>
    <value>org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy</value>
  </property>

  
  <!-- Compacting 604800000 -->
  <property>
    <name>hbase.hstore.compactionthreshold</name>
    <value>5</value>
  </property>
  <property>
    <name>hbase.hstore.compaction.max</name>
    <value>10</value>
  </property>
  <property>
    <name>hbase.hstore.blockingStoreFiles</name>
    <value>16</value>
  </property>
  <property>
    <name>hbase.hregion.majorcompaction</name>
    <value>0</value>
  </property>

  <property>
    <name>hbase.hstore.compaction.throughput.higher.bound</name>
    <value>20971520</value>
    <description>The default is 20 MB/sec</description>
  </property>
  <property>
    <name>hbase.hstore.compaction.throughput.lower.bound</name>
    <value>10485760</value>
    <description>The default is 10 MB/sec</description>
  </property>

2.6 修改regionservers 文件

配置你希望启动HRegionserver服务的节点

vim regionservers

node1
node3
node4

2.7 分发hbase

2.7.1 分发hbase包

scp -r /usr/local/hbase-2.5.5/ root@node1:/usr/local/
scp -r /usr/local/hbase-2.5.5/ root@node2:/usr/local/
scp -r /usr/local/hbase-2.5.5/ root@node3:/usr/local/
scp -r /usr/local/hbase-2.5.5/ root@node4:/usr/local/

2.7.2 分发环境配置

scp /etc/profile root@node1:/etc/profile
scp /etc/profile root@node2:/etc/profile
scp /etc/profile root@node3:/etc/profile
scp /etc/profile root@node4:/etc/profile

提示:注意执行source /etc/profile 使环境生效

2.8 启动hbase服务

2.8.1 环境生效

执行source /etc/profile 使环境生效(所有节点)

source /etc/profile

2.8.2 master节点执行

start-hbase.sh

可以通过netstat -anp | grep 16010 探测端口是否被启用,通过jps 查看master 是否有HMaster 服务启动,有则证明启动成功

注意:启动服务之前,需要先启动zookeeper

2.8.3 node2节点执行

hbase-daemon.sh start master

通过jps 指令查看node2节点,是否有HMaster服务启动,有则证明启动成功。

注意:启动服务之前,需要先启动zookeeper

2.8.4 访问

浏览器访问服务:

Backup Master: master

能成功访问到HBase的页面,查看信息和我们配置的没有出入,符合预期,说明本次HBase集群服务部署成功了。

好了,今天HBase分布式集群部署的相关内容就分享到这里,如果帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!


本文转载自: https://blog.csdn.net/qq_25409421/article/details/133128601
版权归原作者 夜夜流光相皎洁_小宁 所有, 如有侵权,请联系我们删除。

“Hbase分布式集群部署”的评论:

还没有评论