| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> HBase中Zookeeper核心配置信息解读 -> 正文阅读 |
|
[大数据]HBase中Zookeeper核心配置信息解读 |
目录 1.6 hbase-site.xml中zookeeper的配置 一、HBase与Zookeeper的关系
1.1 HA管理? ? ? ?集群的主节点的选举和主备的切换跟Hadoop中Namnode的HA的选举和切换机制类似(后面我会专门写一篇文章讲解Namenode的HA)。 1.2 RegionServer管理
? ? ? ? 为啥子选择zookeeper干这个事?因为随着集群节点越来越多,HMaster的管理负担会越来越重,另外它自身也有挂掉的可能,因此数据还需要持久化,zookeeper通常是一个集群,这样稳定性相对就高了很多。 1.3 元数据Region每次客户端向HBase发起请求时,都会去查询元数据Region,默认目录是:/hbase-unsecure/meta-region-server,如果发生region的迁移,zookeeper都会进行更新,以便其他客户端请求时,总能查到最新的RootRegion信息。 1.4 Region管理Region的状态经常会发生变更,比如Region迁移、上线、离线,都是通过zookeeper来统一管理的。 1.5 预写日志恢复? ? ? ? RegionServer经常会通过WAL预写日志进行数据的恢复,由于RegionServer数据量比较大,单个节点进行恢复速度比较慢,HMaster会把WAL预写日志进行切分,放到Zookeeper的/hbase-unsecure/splitWAL目录中,让其他的RegionSever都能参与日志的恢复工作,提升恢复速度。ZooKeeper在这里担负起了分布式集群中相互通知和信息持久化的角色。 1.6 hbase-site.xml中zookeeper的配置
? ? ? ?其中,hbase.zookeeper.quorum 为Zookeeper 集群的地址,必须进行配置,默认的端口为2181,可以不进行配置,zookeeper.znode.parent 为 /hbase-unsecure。在Hbase集群启动后,使用客户端进行读写操作,需要配置上面相关的参数。 ? ? ? ?其次,zookeeper.session.timeout 也是一个重要的参数,表示RegionServer 与zookeeper 之间的会话时间,一旦会话超时,Zookeeper 就会感知到,通知HMaster将对应的RegionServer移除集群,并将给RegionServer上所有Region移动到其他的RegionServer上。 HBase在zookeeper根节点上创建的子节点:
具体说明如下: master/backup-master:通常来说生产环境要求所有的组件都要避免单故障,Hbase使用zookeeper特性实现Master高可用功能,其中,master节点是集群中对外服务的管理服务器,backup-masters下的子节点是集群中备份节点,一旦对外服务的主Maseter 节点发生异常,备Master节点可以通过选举切换成主Master,继续对外服务。备master的节点可以是一个或多个。 table:集群中所有表信息 region-in-transtion:在当前的Hbase系统中,迁移region是一个非常复杂的过程。首先对这个Region 执行unassign操作,将此Region 从open状态变为offline 状态,再在目标 RegionServer上执行assigi操作,将此Region从offline状态变成open状态,这个过程需要在master上记录region的各个状态。目前RegionServer 将这些状态通知给Master是通过zookeeper 实现的,RegionServer会在region-in-transition中变更Region的状态,Master 监听zookeeper 对应节点,以便在Region状态发生变更之后及时获得通知,得到通知后Master再去更新Region在 hbase:meta 中状态和在内存中的状态。 table-lock : hbase使用zookeeper使用相关机制实现分布式锁。HBase中一张表的数据会以Region的形式存在于多个RegionServer上,因此对一张表的DDL(创建、删除、更新)通常都是典型的分布式操作。每次执行DDL操作之前都需要首先获取相应的表锁,防止多个DDL操作之间出现冲突,这个表锁就是分布式锁。分布式可以使用zookeeper 实现。 online-snapshot:用来实现在线snapshot操作。表级别在线 snapshot同样是一个分布式操作,需要对多个目标表的每个Region都执行 snapshot,全部成功后才返回成功。 replication:用来实现HBase复制功能。 splitWal:用来实现Hbase分布式故障恢复。为了加速加速集群故障恢复,HBase实现分布式故障恢复,让集群中所有RegionServer 都参与未回放日志切分。Zookeeper是Master和RegionServer之间的协调节点。 rs:集群中所有运行的RegionServer flush-table-proc: flush进程 namespace: HBase默认的命名空间 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:35:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |