阿里-Canal 實(shí)現(xiàn)ES數(shù)據(jù)實(shí)時(shí)同步

  1. 使用Canal實(shí)現(xiàn)es數(shù)據(jù)實(shí)時(shí)同步
    image.png

    canal :github地址:https://github.com/alibaba/canal/
    原理很簡單:數(shù)據(jù)庫開啟bin-log日志慨亲,calan偽裝成mysql的slave 讀取bin-log日志
    image.png
官方的說明:
canal 模擬 MySQL slave 的交互協(xié)議,偽裝自己為 MySQL slave 宝鼓,向 MySQL master 發(fā)送dump 協(xié)議
MySQL master 收到 dump 請(qǐng)求刑棵,開始推送 binary log 給 slave (即 canal )
canal 解析 binary log 對(duì)象(原始為 byte 流)

最新Canal版本為 1.1.4 支持 ES7


image.png

(1)、 下載canal項(xiàng)目(git命令也可以 - - 隨意.)


image.png

(2)愚铡、解壓


image.png

(3)蛉签、打開終端 cd到項(xiàng)目目錄
image.png
mvn clean install

說明:沒有配置 maven 的 自己百度配置一下 - - .
安裝完成后:打開target文件夾


image.png

就可以看到 tar包.

canal.deployer-1.1.5-SNAPSHOT.tar.gz
canal.adapter-1.1.5-SNAPSHOT.tar.gz
canal.admin-1.1.5-SNAPSHOT.tar.gz
上傳到 centos .并解壓.


image.png
mkdir canal-xxxx
tar -zxf canal.xxxx-1.1.5-SNAPSHOT.tar.gz -C /usr/soft/canal-xxxx

先新建目錄,然后再解壓到相應(yīng)目錄. xxxx 是不同的項(xiàng)目.

cd canal-deployer/conf/example
修改instance.properties
vim instance.properties
image.png

還有一些其他配置:稍后再說


image.png

最后切換到 bin目錄 start.sh 即可


image.png
查看日志啟動(dòng)成功
日志在logs下面:
tail -200f example/example.log  

canal1.1.4提供 web-ui

官方說明:
canal 1.1.4版本茂附,迎來最重要的WebUI能力正蛙,引入canal-admin工程,
支持面向WebUI的canal動(dòng)態(tài)管理能力营曼,支持配置乒验、任務(wù)、日志等在線白屏運(yùn)維能力蒂阱,
具體文檔:[Canal Admin Guide](https://github.com/alibaba/canal/wiki/Canal-Admin-Guide)

進(jìn)入到 canal-admin目錄:
image.png

主要配置在 conf中
首先:創(chuàng)建數(shù)據(jù)庫canal_manager


image.png

然后編輯application.yml 修改成自己的數(shù)據(jù)庫信息
image.png

修改instance-template.properties


image.png

最后切換到 bin目錄 啟動(dòng)即可

訪問路徑:
http://192.168.0.196:8089

image.png

賬號(hào):admin
密碼:123456
image.png

詳情參考:https://github.com/alibaba/canal/wiki/Canal-Admin-Guide


進(jìn)入 canal-adapter/conf 目錄

image.png

這里需要配置 application.yml 和es7(因?yàn)槲覀兪褂玫膃s是7.0.1版本)

server:
  port: 8081
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
    default-property-inclusion: non_null

canal.conf:
  mode: tcp # kafka rocketMQ
  canalServerHost: 192.168.0.196:11111 #canal默認(rèn)地址 可以在 canal-deployer 項(xiàng)目中配置
#  zookeeperHosts: slave1:2181
#  mqServers: 127.0.0.1:9092 #or rocketmq
#  flatMessage: true
  batchSize: 500
  syncBatchSize: 1000
  retries: 0
  timeout:
  accessKey:
  secretKey:
  username:
  password:
  vhost:
  srcDataSources:
    defaultDS:
      url: jdbc:mysql://192.168.0.201:3306/khfooddb?useUnicode=true #需要同步數(shù)據(jù)數(shù)據(jù)庫地址
      username: root
      password: root
  canalAdapters:
  - instance: example # canal instance Name or mq topic name
    groups:
    - groupId: g1
      outerAdapters:
      - name: logger
#      - name: rdb
#        key: mysql1
#        properties:
#          jdbc.driverClassName: com.mysql.jdbc.Driver
#          jdbc.url: jdbc:mysql://127.0.0.1:3306/mytest2?useUnicode=true
#          jdbc.username: root
#          jdbc.password: 121212
#      - name: rdb
#        key: oracle1
#        properties:
#          jdbc.driverClassName: oracle.jdbc.OracleDriver
#          jdbc.url: jdbc:oracle:thin:@localhost:49161:XE
#          jdbc.username: mytest
#          jdbc.password: m121212
#      - name: rdb
#        key: postgres1
#        properties:
#          jdbc.driverClassName: org.postgresql.Driver
#          jdbc.url: jdbc:postgresql://localhost:5432/postgres
#          jdbc.username: postgres
#          jdbc.password: 121212
#          threads: 1
#          commitSize: 3000
#      - name: hbase
#        properties:
#          hbase.zookeeper.quorum: 127.0.0.1
#          hbase.zookeeper.property.clientPort: 2181
#          zookeeper.znode.parent: /hbase
      - name: es7 #es版本選擇 es6 or es7 
        hosts: 192.168.0.196:9300 # 127.0.0.1:9200 for rest mode
        properties:
#          mode: transport # or rest
#          # security.auth: test:123456 #  only used for rest mode
          cluster.name: elasticsearch                                                                                                                     

編輯 es7/mytest_user.yml
為什么是他呢锻全。。录煤。
因?yàn)椋?/p>

image.png

image.png

相對(duì)應(yīng)鳄厌,也可以自定義。妈踊。了嚎。

vim es7/mytest_user.yml



dataSourceKey: defaultDS
destination: example
groupId: g1
esMapping:
  _index: coremerchant_index # es 的index
#  _type: _doc
  _id: _id
  upsert: true
#  pk: id
  sql: "select a.id as _id,a.id,a.name,a.status,concat(IFNULL(a.latitude, 0), ',', IFNULL(a.longitude, 0)) AS location from core_merchant a"
#  objFields:
#    _labels: array:;
# etlCondition: "where t.c_time>={}"
  commitBatch: 3000

最后切換到 bin 目錄 startup.sh
然后 tailf ../logs/adapter/adapter.log
查看啟動(dòng)日志
最后進(jìn)行測試- -
自己數(shù)據(jù)庫對(duì)應(yīng)的表 INSERT INTO 一條數(shù)據(jù),看看查看效果.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末廊营,一起剝皮案震驚了整個(gè)濱河市歪泳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌露筒,老刑警劉巖呐伞,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異慎式,居然都是意外死亡伶氢,警方通過查閱死者的電腦和手機(jī)趟径,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來癣防,“玉大人蜗巧,你說我怎么就攤上這事×涌常” “怎么了惧蛹?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長刑枝。 經(jīng)常有香客問我香嗓,道長,這世上最難降的妖魔是什么装畅? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任靠娱,我火速辦了婚禮,結(jié)果婚禮上掠兄,老公的妹妹穿的比我還像新娘像云。我一直安慰自己,他們只是感情好蚂夕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布迅诬。 她就那樣靜靜地躺著,像睡著了一般婿牍。 火紅的嫁衣襯著肌膚如雪侈贷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天等脂,我揣著相機(jī)與錄音俏蛮,去河邊找鬼。 笑死上遥,一個(gè)胖子當(dāng)著我的面吹牛搏屑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播粉楚,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼辣恋,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了模软?” 一聲冷哼從身側(cè)響起伟骨,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撵摆,沒想到半個(gè)月后底靠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體害晦,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡特铝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年暑中,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鲫剿。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鳄逾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出灵莲,到底是詐尸還是另有隱情雕凹,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布政冻,位于F島的核電站枚抵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏明场。R本人自食惡果不足惜汽摹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苦锨。 院中可真熱鬧逼泣,春花似錦、人聲如沸舟舒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秃励。三九已至氏仗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間莺治,已是汗流浹背廓鞠。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谣旁,地道東北人床佳。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像榄审,于是被迫代替她去往敵國和親砌们。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容