中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用tunnel同步PG數據到kafka

發布時間:2020-05-16 20:13:40 來源:網絡 閱讀:793 作者:我的二狗呢 欄目:系統運維

tunnel同步PG數據到kafka

來自哈羅單車開源的組件。支持同步PG數據到kafka或者ES。


?

https://github.com/hellobike/tunnel

?

tunnel整體的部署比較簡單的

需要事先部署好zkkafka(我下面演示的是單節點的zkkafka

?

節點部署關系:

192.168.2.4?? 部署zkkafkapg10運行在1921端口

192.168.2.189 部署tunnel

?

?

確保已開啟PG的邏輯復制

wal_level = 'logical';

max_replication_slots = 20

注意這個設置要重啟PG進程的

?

然后,創建測試庫表和同步用的賬號

CREATE DATABASE test_database;

\c test_database

create table test_1 (id int primary key , name char(40));

create table test_2 (id int primary key , name char(40));

?

CREATE ROLE test_rep LOGIN ENCRYPTED PASSWORD 'xxxx' REPLICATION;

GRANT CONNECT ON DATABASE test_database to test_rep;

?

vim pg_hba.conf 增加2行配置:

host??? all????? ???? ?????? ?test_rep??????? 192.168.2.0/24??????? ?md5

host??? replication???? test_rep??????? 192.168.2.0/24???????? md5

然后 reload PG

?

192.168.2.189 機器上去 編譯tunnel

注意: tunnel的啟動需要事先安裝好oracle jdk 1.8

?

git clone https://github.com/hellobike/tunnel

cd tunnel

mvn clean package -Dmaven.test.skip=true

cd target

unzip AppTunnelService.zip

cd AppTunnelService

?

vim conf/test.yml 內容如下:

tunnel_subscribe_config:

? pg_dump_path: '/usr/local/pgsql-10.10/bin/pg_dump'

? subscribes:

? - slotName: slot_for_test

??? pgConnConf:

????? host: 192.168.2.4

????? port: 1921

????? database: test_database

????? user: test_rep

????? password: xxxx

??? rules:

??? - {table: test_1, pks: ['id'], topic: test_1_logs}

??? - {table: test_2, pks: ['id'], topic: test_2_logs}

??? kafkaConf:

????? addrs:

????? - 192.168.2.4:9092

tunnel_zookeeper_address: 192.168.2.4:2181

?

前臺啟動:

java -server -classpath conf/*:lib/* com.hellobike.base.tunnel.TunnelLauncher -u false -c cfg.properties -p 7788? ? ?# 暴露prometheus metric7788端口(配置監控不是這里的重點,也很簡單,暫時先跳過)


然后,我們再在PG10上面的test_database2張表隨便造些數據,然后可以看到kafka里面已經有數據了(下圖是通過kafkamanager kafka-eagle的結果)。

使用tunnel同步PG數據到kafka



使用tunnel同步PG數據到kafka



格式化下,數據就是這樣的:

UPDATE的記錄的樣子:

{

???????? "dataList": [{

?????????????????? "dataType": "integer",

?????????????????? "name": "id",

?????????????????? "value": "1111"

???????? }, {

?????????????????? "dataType": "character",

?????????????????? "name": "name",

?????????????????? "value": "大狗蛋 "

???????? }],

???????? "eventType": "UPDATE",

???????? "lsn": 10503246616,

???????? "schema": "public",

???????? "table": "test_1"

}

?

DELETE的記錄的樣子:

{

???????? "dataList": [{

?????????????????? "dataType": "integer",

?????????????????? "name": "id",

?????????????????? "value": "3"

???????? }],

???????? "eventType": "DELETE",

???????? "lsn": 10503247064,

???????? "schema": "public",

???????? "table": "test_1"

}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙江县| 禄劝| 留坝县| 蒙阴县| 吉林市| 额济纳旗| 长子县| 丘北县| 汕尾市| 扶沟县| 青岛市| 汾阳市| 龙海市| 桃园市| 三门县| 砚山县| 栖霞市| 彭州市| 南投县| 视频| 浦东新区| 宁陕县| 华阴市| 榆中县| 松原市| 喀喇沁旗| 衡南县| 焦作市| 海南省| 岳池县| 郴州市| 忻城县| 宁安市| 温泉县| 安龙县| 邻水| 临湘市| 保德县| 利津县| 江口县| 来安县|