吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Gravity數(shù)據(jù)復(fù)制組件的安裝

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:jerry-89 ? 2023-01-22 15:48 ? 次閱讀

Gravity 是一款數(shù)據(jù)復(fù)制組件,提供全量、增量數(shù)據(jù)同步,以及向消息隊(duì)列發(fā)布數(shù)據(jù)更新。

DRC 的設(shè)計(jì)目標(biāo)是:

支持多種數(shù)據(jù)源和目標(biāo)的,可靈活定制的數(shù)據(jù)復(fù)制組件
支持基于 Kubernetes 的 PaaS 平臺(tái),簡(jiǎn)化運(yùn)維任務(wù)

使用場(chǎng)景

大數(shù)據(jù)總線:發(fā)送 MySQL BinlogMongo Oplog 的數(shù)據(jù)變更到 kafka 供下游消費(fèi)
單向數(shù)據(jù)同步:MySQL --> MySQL 的全量、增量同步
雙向數(shù)據(jù)同步:MySQL <--> MySQL 的雙向增量同步,同步過程中可以防止循環(huán)復(fù)制
分庫(kù)分表到合庫(kù)的同步:MySQL 分庫(kù)分表 --> 合庫(kù)的同步,可以指定源表和目標(biāo)表的對(duì)應(yīng)關(guān)系
在線數(shù)據(jù)變換:同步過程中,可支持對(duì)進(jìn)行數(shù)據(jù)變換

image.png

Gravity是摩拜單車數(shù)據(jù)庫(kù)團(tuán)隊(duì)自研的一套數(shù)據(jù)復(fù)制組件,目前已經(jīng)穩(wěn)定支撐了摩拜單車公司數(shù)百條同步通道,TPS 50000/s,

80線延遲小于50ms。使用go語(yǔ)言編寫,具有如下特點(diǎn):

1.多數(shù)據(jù)源(MySQL, MongoDB, TiDB, PostgreSQL)

2.支持異構(gòu)(不同的庫(kù)、表、字段之間同步),支持分庫(kù)分表到合表的同步。

3.支持雙活&多活,復(fù)制過程將流量打標(biāo),避免循環(huán)復(fù)制。

4.管理節(jié)點(diǎn)高可用,故障恢復(fù)不會(huì)丟失數(shù)據(jù)

5.支持filter plugin (語(yǔ)句過濾,類型過濾,column過濾等多維度的過濾)。

6.支持傳輸過程進(jìn)行數(shù)據(jù)轉(zhuǎn)換。

  1. 一鍵全量+增量遷移數(shù)據(jù)。
  2. 輕量級(jí),穩(wěn)定高效,容易部署。

9.支持基于Kubernetes 的PaaS 平臺(tái),簡(jiǎn)化運(yùn)維任務(wù)。

使用場(chǎng)景:

1.大數(shù)據(jù)總線:發(fā)送MySQL Binlog,Mongo Oplog,TiDB Binlog 的增量數(shù)據(jù)到 Kafka供下游消費(fèi)。

2.單向數(shù)據(jù)同步:MySQL → MySQL&TiDB 的全量、增量同步。

3.雙向數(shù)據(jù)同步:MySQL ? MySQL 的雙向增量同步,同步過程中可以防止循環(huán)復(fù)制。

4.分庫(kù)分表到合庫(kù)的同步:MySQL 分庫(kù)分表--> 合庫(kù)的同步,可以指定源表和目標(biāo)表的對(duì)應(yīng)關(guān)系。

5.數(shù)據(jù)清洗: 同步過程中,可通過filter plugin 將數(shù)據(jù)自定義轉(zhuǎn)換。

6.數(shù)據(jù)歸檔: MySQL→ 歸檔庫(kù) ,同步鏈路中過濾掉delete 語(yǔ)句。

Gravity 的設(shè)計(jì)初衷是要將多種數(shù)據(jù)源聯(lián)合到一起,互相打通,讓業(yè)務(wù)設(shè)計(jì)上更靈活,數(shù)據(jù)復(fù)制、數(shù)據(jù)轉(zhuǎn)換變的更容易,

能夠幫助大家更容易的將業(yè)務(wù)平滑遷移到TiDB 上面。

一、安裝配置golang

golang 針對(duì)中國(guó)用戶有專門的網(wǎng)站:

https://golang.google.cn/dl/

下載文件:

# wget https://dl.google.com/go/go1.17.linux-amd64.tar.gz

解壓文件:

# tar -xzvf go1.17.linux-amd64.tar.gz -C /usr/local/

設(shè)置環(huán)境變量:

# vim /etc/profile

export PATH=$PATH:/usr/local/go/bin

# source  /etc/profile

版本驗(yàn)證:

# go version

go version go1.12 linux/amd64

2 命令

2.1 指定module的根目錄并生成go.mod文件

go mod init example.com/hello

2.2 下載并添加依賴到go.mod文件中

go build, go test

2.3 查看module下的所有依賴

go list -m all

2.4 更新穩(wěn)定版依賴

go get rsc.io/sampler

2.5 更新為指定版本依賴

go list -m -versions rsc.io/sampler
 
rsc.io/sampler v1.0.0 v1.2.0 v1.2.1 v1.3.0 v1.3.1 v1.99.99
 
go get rsc.io/sampler@v1.3.1

2.6 清理無用的依賴

go mod tidy

2.7 將依賴復(fù)制到項(xiàng)目路徑的vendor文件夾中

go mod vendor

2.8 忽略cache里的包,只使用vendor目錄里的依賴進(jìn)行編譯

go build -mod=vendor

2.9 校驗(yàn)依賴并查看是否有修改

go mod verify

二、安裝配置gravity

1.前提條件:安裝部署好golang的環(huán)境變量:

2.下載gravity的代碼:

下載地址:https://github.com/moiot/gravity/releases

選擇需要的版本

# wget https://github.com/moiot/gravity/archive/v0.9.61.tar.gz

注釋:

由于還是老的模式組織目錄結(jié)構(gòu),需要把項(xiàng)目放在 ${GOPATH}/src/github.com/moiot/

 

3.由于目前的版本不支持go module功能需要解壓到 指定的目錄 go/src目錄:

# mkdir -p /usr/local/go/src/github.com/moiot/

# tar -xzvf v0.9.25.tar.gz  -C /usr/local/go/src/github.com/moiot/

# mv gravity-0.9.25/ gravity

或者直接clone 源代碼:

      # git clone https://github.com/moiot/gravity.git

#export GOPROXY=https://goproxy.io

# make

#export GOPROXY=

 注:解決方法:

換一個(gè)國(guó)內(nèi)能訪問的代理地址:https://goproxy.cn

執(zhí)行命令:go env -w GOPROXY=https://goproxy.cn

重新執(zhí)行命令,完美通過

##查看幫助信息:

# ./bin/gravity  --help -L warn

Usage of gravity:

  -L string

        log level: debug, info, warn, error, fatal (default 'info') (default "info")

  -V    print version and exit

  -config string

        path to config file

  -http-addr string

        http-addr (default ":8080")

  -log-file string

        log file path

  -log-format string

        log format (default "json")

 

##版本查詢:

# ./bin/gravity -V

Release Version (gravity): 0.0.1+git.

Git Commit Hash:

Git Branch:

UTC Build Time: 2019-07-26 02:58:06

三、問題解決

#執(zhí)行make命令時(shí),由于一些依賴包需要翻墻才能下載到,所以go在這里自動(dòng)下載相應(yīng)的包或依賴包時(shí),會(huì)出現(xiàn)timeout問題,無法下載或加載依賴包。。最終導(dǎo)致make失敗

go: golang.org/x/net@v0.0.0-20190311183353-d8887717615a: unrecognized import path "golang.org/x/net" (https fetch: Get https://golang.org/x/net?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

go: google.golang.org/grpc@v1.19.0: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

go: golang.org/x/sys@v0.0.0-20180905080454-ebe1bf3edb33: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

go: finding github.com/pingcap/parser v0.0.0-20190118120648-5958b6fcdb2d

go: golang.org/x/crypto@v0.0.0-20180904163835-0709b304e793: unrecognized import path "golang.org/x/crypto" (https fetch: Get https://golang.org/x/crypto?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

解決方法:

設(shè)置以下環(huán)境變量:

export GOPROXY=https://goproxy.io

然后在執(zhí)行make命令。

 

原因:

設(shè)置了GOPROXY環(huán)境變量,下載源代碼時(shí)將會(huì)通過這個(gè)環(huán)境變量設(shè)置的代理地址,而不再是以前的直接從代碼庫(kù)下載。 https://goproxy.io是官方提供公用的代理服務(wù)。

通過設(shè)置該環(huán)境變量:export GOPROXY=https://goproxy.io 后即可正常下載墻外的源碼包了:

也可以通過置空這個(gè)環(huán)境變量來關(guān)閉,export GOPROXY=

需要Go version >= 1.11。

原文鏈接:https://blog.csdn.net/eagle89/article/details/128605003
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7145

    瀏覽量

    89584
  • 數(shù)據(jù)同步
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8188
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    InterBase和Firebird數(shù)據(jù)訪問組件介紹

    InterBase 和 Firebird 數(shù)據(jù)訪問組件 InterBase(和 Firebird)數(shù)據(jù)訪問組件 (IBDAC) 是一個(gè)庫(kù) 提供與 InterBase 和 Firebir
    的頭像 發(fā)表于 01-23 11:50 ?91次閱讀
    InterBase和Firebird<b class='flag-5'>數(shù)據(jù)</b>訪問<b class='flag-5'>組件</b>介紹

    hyper v 復(fù)制,hyper v 復(fù)制如何操作

    在日常辦公中,我們常常需要處理大量的文件和數(shù)據(jù),這些重復(fù)性的工作不僅耗時(shí)耗力,還容易出現(xiàn)錯(cuò)誤。而批量管理工具的出現(xiàn),為我們提供了一種高效、便捷的解決方案,它能夠批量處理文件和數(shù)據(jù),極大地提高了
    的頭像 發(fā)表于 01-22 16:01 ?163次閱讀
    hyper v <b class='flag-5'>復(fù)制</b>,hyper v <b class='flag-5'>復(fù)制</b>如何操作

    適用于Oracle的SSIS數(shù)據(jù)組件:提供快速導(dǎo)入及導(dǎo)出功能

    使用SSIS 數(shù)據(jù)組件,通過與關(guān)鍵數(shù)據(jù)庫(kù)和云服務(wù)的 Oracle 數(shù)據(jù)集成來改進(jìn)您的 ETL 流程,這些組件提供快捷和可靠的
    的頭像 發(fā)表于 01-15 10:51 ?230次閱讀
    適用于Oracle的SSIS<b class='flag-5'>數(shù)據(jù)</b>流<b class='flag-5'>組件</b>:提供快速導(dǎo)入及導(dǎo)出功能

    Devart SSIS數(shù)據(jù)組件

    Devart SSIS 數(shù)據(jù)組件是功能強(qiáng)大的工具,旨在簡(jiǎn)化 SQL Server Integration Services (SSIS) 包內(nèi)的 ETL 流程,使用戶無需編寫復(fù)雜的代碼即可
    的頭像 發(fā)表于 01-05 11:08 ?205次閱讀
    Devart SSIS<b class='flag-5'>數(shù)據(jù)</b>流<b class='flag-5'>組件</b>

    亞馬遜云科技發(fā)布全新數(shù)據(jù)中心組件

    近日,亞馬遜云科技宣布了一項(xiàng)重大創(chuàng)新,推出了一系列全新的數(shù)據(jù)中心組件。這些組件旨在滿足新一代人工智能(AI)創(chuàng)新的需求,并幫助客戶應(yīng)對(duì)日益復(fù)雜且多變的應(yīng)用場(chǎng)景。 亞馬遜云科技通過對(duì)電源、冷卻以及硬件
    的頭像 發(fā)表于 12-24 15:05 ?255次閱讀

    PW系列工控電腦復(fù)制機(jī):效率與精度雙重提升

    本文介紹了PW系列工控電腦復(fù)制機(jī)在現(xiàn)代企業(yè)數(shù)據(jù)管理中的關(guān)鍵作用。隨著大數(shù)據(jù)和跨平臺(tái)兼容性需求的增長(zhǎng),PW系列復(fù)制機(jī)以其高達(dá)18GB/分鐘的傳輸速度和自動(dòng)化偵測(cè)技術(shù),提供了一個(gè)靈活、高效
    的頭像 發(fā)表于 11-20 16:20 ?212次閱讀
    PW系列工控電腦<b class='flag-5'>復(fù)制</b>機(jī):效率與精度雙重提升

    分布式服務(wù)高可用實(shí)現(xiàn):復(fù)制

    作者:京東保險(xiǎn) 王奕龍 1. 為什么需要復(fù)制 我們可以考慮如下問題: 當(dāng)數(shù)據(jù)量、讀取或?qū)懭胴?fù)載已經(jīng)超過了當(dāng)前服務(wù)器的處理能力,如何實(shí)現(xiàn)負(fù)載均衡? 希望在單臺(tái)服務(wù)器出現(xiàn)故障時(shí)仍能繼續(xù)工作,這該如何實(shí)現(xiàn)
    的頭像 發(fā)表于 10-29 11:27 ?701次閱讀
    分布式服務(wù)高可用實(shí)現(xiàn):<b class='flag-5'>復(fù)制</b>

    數(shù)據(jù)光端機(jī)的安裝步驟

    數(shù)據(jù)光端機(jī)是一種用于傳輸數(shù)據(jù)信號(hào)的設(shè)備,它通過光纖將數(shù)據(jù)從一個(gè)地點(diǎn)傳輸?shù)搅硪粋€(gè)地點(diǎn)。這種設(shè)備廣泛應(yīng)用于電信、網(wǎng)絡(luò)、監(jiān)控等領(lǐng)域。以下是安裝數(shù)據(jù)
    的頭像 發(fā)表于 10-28 10:05 ?343次閱讀

    配置MySQL主從復(fù)制和讀寫分離

    配置MySQL主從復(fù)制和讀寫分離
    的頭像 發(fā)表于 10-23 11:44 ?543次閱讀
    配置MySQL主從<b class='flag-5'>復(fù)制</b>和讀寫分離

    邏輯組件包括哪些配件

    邏輯組件是計(jì)算機(jī)系統(tǒng)中用于處理數(shù)據(jù)和執(zhí)行指令的硬件部分。它們是計(jì)算機(jī)的核心,負(fù)責(zé)執(zhí)行程序、處理數(shù)據(jù)和控制其他硬件組件。邏輯組件的設(shè)計(jì)和實(shí)現(xiàn)對(duì)
    的頭像 發(fā)表于 10-15 14:40 ?598次閱讀

    射頻電纜組件測(cè)試使用方法和注意事項(xiàng)

    射頻電纜組件是精密元器件。為維持其可靠性、延長(zhǎng)使用壽命,保證涉及到的檢測(cè)設(shè)備有更準(zhǔn)確可靠的測(cè)量值,要求對(duì)其合理使用、經(jīng)常檢查,并對(duì)連接器進(jìn)行定期清潔。不合理操作會(huì)導(dǎo)致測(cè)試數(shù)據(jù)的不準(zhǔn)確或?qū)?b class='flag-5'>組件及設(shè)備
    的頭像 發(fā)表于 09-02 11:29 ?415次閱讀

    如何實(shí)現(xiàn)Python復(fù)制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會(huì)看到一些用 Python 實(shí)現(xiàn)文件復(fù)制的特殊方法。下面我們開始學(xué)習(xí)這九種不同的方法來實(shí)現(xiàn) Python 復(fù)制文件操作。
    的頭像 發(fā)表于 07-18 14:53 ?479次閱讀

    PSoC Creator 4.4某些組件不可用,為什么?

    ),重新安裝,結(jié)果還是沒有。 看起來這些安裝文件不包含最新的組件。 然而,即使我將設(shè)備設(shè)置為\"all\" 并關(guān)閉\"Show only newer\" 復(fù)選框
    發(fā)表于 05-23 06:54

    光伏組件指的是什么 光伏組件安裝注意事項(xiàng)

    光伏組件,也稱為太陽(yáng)能電池板,是一種利用光伏效應(yīng)將太陽(yáng)光轉(zhuǎn)換成電能的裝置。
    的頭像 發(fā)表于 05-21 17:37 ?2647次閱讀

    HarmonyOS開發(fā)案例:【 switch、chart組件的使用】

    基于switch組件和chart組件,實(shí)現(xiàn)線形圖、占比圖、柱狀圖,并通過switch切換chart組件數(shù)據(jù)的動(dòng)靜態(tài)顯示。
    的頭像 發(fā)表于 04-25 20:58 ?691次閱讀
    HarmonyOS開發(fā)案例:【 switch、chart<b class='flag-5'>組件</b>的使用】
    福布斯百家乐官网的玩法技巧和规则 | 和林格尔县| 碧桂园太阳城二手房| 澳门百家乐免费开户| 玩百家乐官网游戏经验| 威尼斯人娱乐城官网地址| 百家乐官网群lookcc| gt百家乐官网平台假吗| 真钱现金斗地主| 大发888体育和娱乐| 怎样看百家乐路单| 24山72向局图解| 百家乐官网扫瞄光纤洗牌机扑克洗牌机扑克洗牌机 | 百家乐不倒翁缺点| 澳门百家乐官网娱乐场开户注册| 12倍百家乐官网秘籍| 188金宝博备用网址| 澳门百家乐论坛及玩法| 百家乐官网3式打法微笑心法| 哪个百家乐官网平台信誉好| 太阳神网上娱乐| 大发888手机版下载安装到手| 巴西百家乐的玩法技巧和规则| 百家乐桌14人| 阳宅风水24向详解| 百家乐官网游戏唯一官网站| 真人百家乐官网平台排行| 延长县| 百家乐游戏| 免费百家乐游戏机| 百苑百家乐官网的玩法技巧和规则| 棋牌室赚钱吗| 全讯网25900.com| 网上百家乐官网游戏玩法| 赌百家乐官网庄闲能赢| 百家乐官网赌坊| 乐百家乐官网彩现金开户| 百家乐官网买隔一数| 大发888ios版| 大哥大百家乐的玩法技巧和规则| 百家乐好赌吗|