原创-Hbase WAL日志数据实时推送到kafka

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原创-Hbase WAL日志数据实时推送到kafka相关的知识,希望对你有一定的参考价值。

参考技术A 实时同步Hbase WAL日志到kafka,笔者这边使用场景有以下两个:

Hbase提供了跨集群的数据同步方式Replication,可通过自定义Replication Endpoint,把消息写入kafka,先来了解Hbase Replication集群之间进行复制同步的过程,整体数据复制流程如下图:

通过以上Hbase Replication的复制过程,可理解,可通过自定义ReplicationEndpoint把entry解析发送到kafka,即可实现实时解析WAL日志推送到消息系统

Hbase默认对应的RepliactionEndpoint实现是HBaseInterClusterReplicationEndpoint,其中封装replicationWALEntry通过RPC发送到Peer集群,对应方法replicateEntries,可参考该类自定义一个KafkaInterClusterReplicationEndpoint类,改写replicateEntries方法推送数据到kafka

注意java客户端如批量写入Hbase,对应WAL日志是一条记录

注意REPLICATION_SCOPE属于设置为1,表示开启复制

注意ENDPOINT_CLASSNAME属性,修改成自定义的ReplicationEndpoint,CONFIG 属性可配置自定义的参数,可在自定义的ReplicationEndpoint类init方法中通过以下方式获取

串行复制和费串行复制有啥区别,可自行查找资料

如何将新数据从实时数据库推送到 Cloud Firestore?

【中文标题】如何将新数据从实时数据库推送到 Cloud Firestore?【英文标题】:How to push new data from Realtime Database to Cloud Firestore? 【发布时间】:2021-12-25 06:40:31 【问题描述】:

我正在通过 Zapier 将数据推送到 Firebase,它会进入实时数据库。但是,我使用的是 Cloud Firestore。我查看了这两种服务的大量文档,但似乎都没有答案..(有关于迁移的信息,但我想保留这两个数据库)。

如何将每个新的或更新的数据条目从实时数据库推送到 Cloud Firestore?

【问题讨论】:

【参考方案1】:

Firebase 中没有任何内置功能可以自动执行此操作。

我能想到的最快的方法是构建一个云函数来监听实时数据库的写入,然后将它们发送到 Firestore。

另外,Zapier 不是允许您有两个 zap,一个写入每个数据库吗?

【讨论】:

确实如此,我第一次错过了。目前正在与他们核对以确保 zap 不仅在 Cloud Firestore 中创建记录,而且还进行更新。

以上是关于原创-Hbase WAL日志数据实时推送到kafka的主要内容,如果未能解决你的问题,请参考以下文章

HBase的Write Ahead Log (WAL) —— 整体架构线程模型

记一次HBase RegionServer 经常挂掉 故障排查过程

Hbase的WAL在RegionServer基本调用过程

实时数据库未将数据推送到 Firebase

如何将数据从 Informix 实时推送到 .NET 服务器?

如何将新数据从实时数据库推送到 Cloud Firestore?