HBase-replication流程

Posted 冬雷小墨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase-replication流程相关的知识,希望对你有一定的参考价值。

一、核心工作原理

二、主要流程解析

2.1获取从集群rs列表流程

  1. 初始化从集群zk连接: 只会在RS启动的时候初始化或者新增peer的时候一次,后续不再初始化,所以不从集群扩容后不能被主集群识别到

  1. 将从集群的zk连接传递给ReplicationEndpoint:在ReplicationSourceManager初始化ReplicationEndpoint的时候

  1. 获取从集群的rs列表

  1. 在ReplicationSource初始化后第一次发送replication的时候会去连接peer然后将从集群的rs列表缓存

  1. 每次进行replication的时候会判断从集群的rs列表是否有变化,如果有则会重新连接从集群的zk获取从集群的列表,如果获取新列表失败则继续使用缓存的老列表

QA:

1.replication怎么获取的需要同步的任务?

有三个地方:rs初始化的时候、同集群内其它的rs宕机的时候、wal发生滚动的时候

2.目标集群扩容/缩容之后源集群怎么知道新节点加入了?

每次需要进行同步新的wal的时候,都会连接在启动的时候记录的从集群的zk,从而获取到从集群的rs列表

3.不同rsgroup的regionserver可以进行failover吗?

可以,从transferQueues的逻辑上来看,并没有区分出不在同一个分组就不能接管其它分组的RS的replication

4.source将wal写入到从集群随机指定的rs后,从集群的指定rs还需要再将数据重新转发到region所在的rs吗?

当数据同步到从集群之后,在从集群rs的ReplicationSink充当客户端,通过Table接口将数据发给同集群内的目标rs

以上是关于HBase-replication流程的主要内容,如果未能解决你的问题,请参考以下文章

远程小组软件开发过程:流程

JS中的事件传播流程

哪一个更适合 OAuth 流程? SFSafariViewController? WKWebview?

论虚拟角色在流程审批中的作用

查询SQL语句执行流程

Vue对象数据收集依赖具体流程