基础架构
文章插图
组成角色包含如下几个部分:
- Master:实现类为 HMaster,负责监控集群中所有的 RegionServer 实例 。
- LoadBalancer 负载均衡器:周期性监控 region 分布在 regionServer 上面是否均衡,由参数 hbase.balancer.period 控 制周期时间,默认 5 分钟 。
- CatalogJanitor 元数据管理器:定期检查和清理 hbase:meta 中的数据 。meta 表内容在进阶介绍 。
- MasterProcWAL master 预写日志处理器:把 master 需要执行的任务记录到预写日志 WAL 中,如果 master 宕机,让 backupMaster 读取日志继续干 。
- 管理元数据表格 hbase:meta,接收用户对表格创建修改删除的命令并执行
- 监控 region 是否需要进行负载均衡,故障转移和 region 的拆分 。
- 主要作用如下:
- 管理元数据表格 hbase:meta,接收用户对表格创建修改删除的命令并执行 。
- 监控 region 是否需要进行负载均衡,故障转移和 region 的拆分 。
- 通过启动多个后台线程监控实现上述功能:
- Region Server:Region Server 实现类为 HRegionServer,主要作用如下:
- 负责数据 cell 的处理,例如写入数据 put,查询数据 get 等 。
- 【大数据技术之HBase原理与实战归纳分享-上】拆分合并 region 的实际执行者,有 master 监控,有 regionServer 执行 。
- Zookeeper:HBase 通过 Zookeeper 来做 master 的高可用、记录 RegionServer 的部署信息、并且存储 有 meta 表的位置信息 。HBase 对于数据的读写操作时直接访问 Zookeeper 的,在 2.3 版本推出 Master Registry 模式,客户端可以直接访问 master 。使用此功能,会加大对 master 的压力,减轻对 Zookeeper 的压力 。
- HDFS:HDFS 为 Hbase 提供最终的底层数据存储服务,同时为 HBase 提供高容错的支持 。
安装前置条件
- Zookeeper(使用前面文章已部署集群)
- HDFS(使用前面文章已部署集群)
部署# 下载最新版本HBasewget --no-check-certificate https://dlcdn.apache.org/hbase/2.5.0/hbase-2.5.0-bin.tar.gz# 解压tar -xvf hbase-2.5.0-bin.tar.gz# 进入目录cd hbase-2.5.0# 配置环境变量vim /etc/profileexport HBASE_HOME=/home/commons/hbase-2.5.0export PATH=$HBASE_HOME/bin:$PATH# 将配置文件分发到另外两台节点上scp /etc/profile hadoop2:/etc/scp /etc/profile hadoop3:/etc/# 在三台上执行环境变量生成命令source /etc/profile# 修改conf目录下配置文件hbase-env.sh,vim conf/hbase-env.sh# false 取消 不需要自己管理实例 用zookeeperexport HBASE_MANAGES_ZK=false# 声明JAVA_HOMEexport JAVA_HOME=/home/commons/jdk8# HBase的jar包和Hadoop的jar包有冲突,导致服务没有起来,报错如object is not an instance of declaring class可以配置这个export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
- 修改conf目录下配置文件vim conf/hbase-site.xml
##修改, <property> <name>hbase.cluster.distributed</name> <value>true</value> </property>##去掉 <property> <name>hbase.tmp.dir</name> <value>./tmp</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property>##增加 <property> <name>hbase.zookeeper.quorum</name> <value>zk1,zk2,zk3</value> <description>The directory shared by RegionServers. </description> </property><!-- <property>--><!-- <name>hbase.zookeeper.property.dataDir</name>--><!-- <value>/export/zookeeper</value>--><!-- <description> 记得修改 ZK 的配置文件 --><!-- ZK 的信息不能保存到临时文件夹--><!-- </description>--><!-- </property>--> <property> <name>hbase.rootdir</name> <value>hdfs://hadoop2:9000/hbase</value> <!--8020这个端口号,要跟hadoop的NameNode一样--> <description>The directory shared by RegionServers. </description> </property>
经验总结扩展阅读
-
安安漫谈情感|27岁男人娶44岁女人,婚后是什么感觉?这男人讲了真心话
-
-
-
-
-
-
-
2021抖音用了必热门的文案短句 2021抖音必火的宝藏文案
-
饱和度|过了四十岁的女人,衣柜里这5种颜色衣服别再穿了,显老还掉档次
-
-
-
-
如果有男人跟你说:和我结婚必须要保证能生儿子 结婚还是要多看看感情,而不是拿钱说事
-
-
-
-
-
01听一个朋友讲过的...|两个人的关系,不是靠哪一个人的努力就能决定
-
各个新生都准备要开学了。|录取通知书刚到手,儿子和父母就吵翻天:一个月就给4000我咋活?
-