HBase2.1分布式部署

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: HBase2.1分布式部署

一、部署环境及Hbase各组件简介

Hbase组件简介

1.Client

Client包含了访问Hbase的接口,另外Client还维护了对应的cache来加速Hbase的访问,比如cache的.META.元数据的信息。

2.Zookeeper

HBase通过Zookeeper来做master的高可用、RegionServer的监控、元数据的入口以及集群配置的维护等工作。具体工作如下:

通过Zoopkeeper来保证集群中只有1个master在运行,如果master异常,会通过竞争机制产生新的master提供服务

通过Zoopkeeper来监控RegionServer的状态,当RegionSevrer有异常的时候,通过回调的形式通知Master RegionServer上下线的信息

通过Zoopkeeper存储元数据的统一入口地址

3.Hmaster(类似于NameNode)

master节点是整个Hbase的管理者,其主要职责如下:

1.监控RegionServer

2.处理RegionServer故障转移

3.处理元数据的变更,处理表级别的增删改查(ddl)

4.处理region的分配或转移

5.在空闲时间进行数据的负载均衡

6.通过Zookeeper发布自己的位置给客户端

4.regionServer(类似于DataNode)

regionServer直接对接用户的读写请求,是真正的“干活”的节点。它的功能概括如下:

1.负责存储HBase的实际数据,负责表内数据的增删改查(dml)

2.处理分配给它的Region

3.刷新缓存到HDFS

4.维护Hlog

5.执行压缩

6.负责处理Region分片

5.Region

Hbase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个RegionServer中可以有多个不同的region

部署环境

Hadoop版本:hadoop-2.7.5
部署参考:https://www.cnblogs.com/panwenbin-logs/p/8666589.html
zookeeper版本:zookeeper-3.4.12
部署参考:https://www.cnblogs.com/panwenbin-logs/p/10369402.html
hosts:
192.168.1.131 hadoop01
192.168.1.132 hadoop02
192.168.1.133 hadoop03
sed -i 's#\# StrictHostKeyChecking ask#StrictHostKeyChecking no#' /etc/ssh/ssh_config
systemctl restart sshd
配置节点直接免密登录
时间同步
关闭或放行相关端口

二、配置安装

1.下载安装包

资源下载地址:https://archive.apache.org/dist/hbase/

wget https://archive.apache.org/dist/hbase/2.1.0/hbase-2.1.0-bin.tar.gz

tar xf hbase-2.1.0-bin.tar.gz -C /usr/local

cd  /usr/local

ln -sv hbase-2.1.0-bin hbase

2.修改HBase配置文件

hbase-env.sh

vim /usr/local/hbase/conf/hbase-env.sh

export JAVA_HOME=/usr/local/java8

export HBASE_MANAGES_ZK=false  #不使用内置zookeeper

hbase-site.xml

vim /usr/local/hbase/conf/hbase-site.xml
<configuration>
    <!-- HBase数据在HDFS中的存放的路径 -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop01:9000/hbase</value>
    </property>
    <!-- Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会
             运行在同一个JVM里面 -->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <!-- ZooKeeper的地址 -->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop01,hadoop02,hadoop03</value>
    </property>
    <!-- ZooKeeper快照的存储位置 -->
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/Data/zookeeper</value>
    </property>
    <!-- V2.1版本,在分布式情况下, 设置为false -->
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
</configuration>

3.配置环境变量

vim /etc/profile.d/hbase.sh

export HBASE_HOME=/usr/local/hbase

export PATH=$PATH:${HBASE_HOME}/bin:${HBASE_HOME}/sbin

4.复制jar包到lib

cp /usr/local/hbase/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar /usr/local/hbase/lib/  #如果你后续需要使用phoenix的话需要拷贝

5.修改regionservers文件

vim /usr/local/hbase/conf/regionservers

hadoop01

hadoop02

hadoop03

6.同步配置

#加载环境变量和软链参考上面步骤

scp -r /etc/profile.d/hbase.sh hadoop02:/etc/profile.d/

scp -r /usr/local/hbase-2.1.0/ hadoop02:/usr/local/

scp -r /etc/profile.d/hbase.sh hadoop03:/etc/profile.d/

scp -r /usr/local/hbase-2.1.0/ hadoop03:/usr/local/

7.启动HBase

#启动所有mater及regionserver所有节点

start-hbase.sh
#启动指定服务,此时可以不配置regionservers文件
hbase-daemon.sh start master|regionserver

三、验证

hbase shell客户端

hbase shell

hbase(main):001:0> status

1 active master, 2 backup masters, 3 servers, 0 dead, 0.6667 average load

hbase shell客户端

http://hadoop01:16010/

相关端口

16000 master进程RPC端口

16010 master进程http端口

16020 Region Servers进程端口

16030 Region Servers进程RPC端口

 

四、指定backup master

#如果我们需要指定backup server那么还是可以通过1.X版本通过配置文件的方式添加
vim /usr/local/hbase/conf/backup-masters 
hadoop02
hadoop03
#同步到其他节点重启服务即可
相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
392 3
|
5月前
|
分布式计算 Java Hadoop
杨校老师课堂之分布式数据库HBase的部署和基本操作
杨校老师课堂之分布式数据库HBase的部署和基本操作
60 0
|
5月前
|
存储 NoSQL Java
HBase是一个开源的、分布式的、面向列的NoSQL数据库系统
HBase是一个开源的、分布式的、面向列的NoSQL数据库系统
95 0
|
5月前
|
存储 分布式计算 Hadoop
【大数据】分布式数据库HBase下载安装教程
【大数据】分布式数据库HBase下载安装教程
140 0
|
5月前
|
存储 缓存 大数据
【大数据】分布式数据库HBase
【大数据】分布式数据库HBase
111 0
|
6月前
|
存储 Java 分布式数据库
【分布式计算框架】HBase数据库编程实践
【分布式计算框架】HBase数据库编程实践
106 1
|
6月前
|
存储 分布式计算 Java
大数据存储技术(3)—— HBase分布式数据库
大数据存储技术(3)—— HBase分布式数据库
1515 0
|
6月前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
6月前
|
SQL 分布式数据库 HIVE
分布式NoSQL列存储数据库Hbase(六)
分布式NoSQL列存储数据库Hbase(六)
78 0
|
1月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?