gravity 安装部署

155 篇文章 18 订阅
订阅专栏
Gravity是摩拜单车开发的数据复制组件,支持多种数据库间的全量和增量同步,包括MySQL、MongoDB等,具备数据过滤和转换功能,适用于大数据总线、单向和双向数据同步等多种场景。该工具使用Golang编写,具有高可用性和轻量级特性,已稳定运行于摩拜单车的生产环境,并在GitHub上开源。
摘要由CSDN通过智能技术生成

gravity是由膜拜公司自主研发的不同数据库间数据同步工具。

官方介绍:https://github.com/moiot/gravity/blob/master/README-cn.md

Gravity 是一款数据复制组件,提供全量、增量数据同步,以及向消息队列发布数据更新。

DRC 的设计目标是:

    支持多种数据源和目标的,可灵活定制的数据复制组件
    支持基于 Kubernetes 的 PaaS 平台,简化运维任务

使用场景

  •     大数据总线:发送 MySQL Binlog,Mongo Oplog 的数据变更到 kafka 供下游消费
  •     单向数据同步:MySQL --> MySQL 的全量、增量同步
  •     双向数据同步:MySQL <--> MySQL 的双向增量同步,同步过程中可以防止循环复制
  •     分库分表到合库的同步:MySQL 分库分表 --> 合库的同步,可以指定源表和目标表的对应关系
  •     在线数据变换:同步过程中,可支持对进行数据变换

 

Gravity是摩拜单车数据库团队自研的一套数据复制组件,目前已经稳定支撑了摩拜单车公司数百条同步通道,TPS 50000/s,
80线延迟小于50ms。使用go语言编写,具有如下特点:
1.多数据源(MySQL, MongoDB, TiDB, PostgreSQL)
2.支持异构(不同的库、表、字段之间同步),支持分库分表到合表的同步。
3.支持双活&多活,复制过程将流量打标,避免循环复制。
4.管理节点高可用,故障恢复不会丢失数据
5.支持filter plugin (语句过滤,类型过滤,column过滤等多维度的过滤)。
6.支持传输过程进行数据转换。
7. 一键全量+增量迁移数据。
8. 轻量级,稳定高效,容易部署。
9.支持基于Kubernetes 的PaaS 平台,简化运维任务。
 
使用场景:
1.大数据总线:发送MySQL Binlog,Mongo Oplog,TiDB Binlog 的增量数据到 Kafka供下游消费。
2.单向数据同步:MySQL → MySQL&TiDB 的全量、增量同步。
3.双向数据同步:MySQL ↔ MySQL 的双向增量同步,同步过程中可以防止循环复制。
4.分库分表到合库的同步:MySQL 分库分表--> 合库的同步,可以指定源表和目标表的对应关系。
5.数据清洗: 同步过程中,可通过filter plugin 将数据自定义转换。
6.数据归档: MySQL→ 归档库 ,同步链路中过滤掉delete 语句。
 
Gravity 的设计初衷是要将多种数据源联合到一起,互相打通,让业务设计上更灵活,数据复制、数据转换变的更容易,
能够帮助大家更容易的将业务平滑迁移到TiDB 上面。
 
该项目已经在GitHub 开源,欢迎大家交流使用 https://github.com/moiot/gravity


一、安装配置golang

    golang 针对中国用户有专门的网站:

    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/

    设置环境变量:

    # vim /etc/profile

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

    # source  /etc/profile

    版本验证:

    # 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 更新稳定版依赖

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 将依赖复制到项目路径的vendor文件夹中

go mod vendor

2.8 忽略cache里的包,只使用vendor目录里的依赖进行编译

go build -mod=vendor

2.9 校验依赖并查看是否有修改

go mod verify
 

二、安装配置gravity

    1.前提条件:安装部署好golang的环境变量:

    2.下载gravity的代码:

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

    选择需要的版本

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

    注释:

    由于还是老的模式组织目录结构,需要把项目放在 ${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=

     注:解决方法:

换一个国内能访问的代理地址:https://goproxy.cn

执行命令:go env -w GOPROXY=https://goproxy.cn

重新执行命令,完美通过

    ##查看帮助信息:

    # ./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

 
三、问题解决

    #执行make命令时,由于一些依赖包需要翻墙才能下载到,所以go在这里自动下载相应的包或依赖包时,会出现timeout问题,无法下载或加载依赖包。。最终导致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)

    解决方法:

    设置以下环境变量:

    export GOPROXY=https://goproxy.io

    然后在执行make命令。

     

    原因:

    设置了GOPROXY环境变量,下载源代码时将会通过这个环境变量设置的代理地址,而不再是以前的直接从代码库下载。 https://goproxy.io是官方提供公用的代理服务。

    通过设置该环境变量:export GOPROXY=https://goproxy.io 后即可正常下载墙外的源码包了:

    也可以通过置空这个环境变量来关闭,export GOPROXY=

    需要Go version >= 1.11。
 

【向StoneDB迁移数据】数据迁移同步工具-Gravity
leizzboy的博客
08-02 379
Gravity 介绍 GitHub:https://github.com/moiot/gravity Gravity 是由摩拜公司使用go语言开发的一款数据迁移工具(目前 GitHub 上更新不是很频繁,但是还有开发者在 GitHub 上回答 issues),提供全量、增量数据同步,以及向消息队列发布数据更新,支持 ECS、Docker、K8S 部署,推荐使用 K8S 部署。 DRC 的设计目标是: 支持多种数据源和目标的,可灵活定制的数据复制组件。 支持基于 Kubernetes 的 PaaS 平台,简
gravity:Galaxy 流程管理和系统管理工具
06-17
重力 - Galaxy 服务器管理 服务器的流程管理器()和管理工具。 安装它会给你一个可执行文件, galaxy ,用于管理 Galaxy。 将为您的 Galaxy 服务器自动创建一个 virtualenv。 那是一件好事。 安装 需要 Python 2.7。 遗憾的是,Python 3 无法运行,因为主管不支持它,。 安装: pip install gravity 为了让您的生活更轻松,我们鼓励您安装到,并且为了使之变得微不足道,我们鼓励您使用 。 笔记 [galaxy:server] 将此部分添加到您的galaxy.ini 、 reports_wsgi.ini 、 tool_shed_wsgi.ini以设置: instance_name = string # override the default auto-generated instance name galaxy
graviteeio 3.5.0 windows 版 所有依赖安装包打包发布
12-30
安装文档 https://docs.gravitee.io/apim/3.x/apim_quickstart_publish.html windows 版本安装 包含的包 openjdk-14.0.1_windows-x64_bin nginx-1.18.0 graviteeio-full-3.5.0 elasticsearch-7.10.1.msi mongodb-windows-x86_64-4.4.2-signed.msi 亲测可以安装安装步骤 1、 jdk 2、 mongodb 3、elasticsearch 4、启动 graviteeio-gateway-3.5.0
Gravity 安装部署
vkingnew 的技术博客
03-04 1169
1.前提条件:安装部署好golang的环境变量: 2.下载gravity的代码: # wget https://github.com/moiot/gravity/archive/v0.9.25.tar.gz 注释: 由于还是老的模式组织目录结构,需要把项目放在 GOPATH//src/github.com/moiot/ 3.由于目前的版本不支持go module功能需要解压到 指定的目录 ...
安装gravity
qq_22583191的博客
03-05 856
git clone https://github.com/moiot/gravity.git cd gravity && make 漫长等待
【Gravitee学习一】ZIP方式部署安装
最新发布
yjf的专栏
05-22 703
Gravitee部署
project_gravity_server:用于从 Project Gravity 接收测试数据的 Java 服务器
06-04
Java 作为服务器端开发的常用语言,提供了稳定性和跨平台兼容性,使得 GravityServer 能够在多种操作系统上部署。 JSON 文件是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在这个项目...
Go-Gravity-一个基于快照的Kubernetes打包和管理工具
08-14
Gravity提供了强大的工具集,用于安装、升级和维护Kubernetes集群。无论是新集群的初始化,还是已有集群的更新,都可以通过Gravity进行平滑操作。它简化了版本控制,使得团队可以更加安全地进行滚动升级,降低了服务...
Gravity:用于创建 Kubernetes 集群镜像的开源工具包-开源
05-30
Gravity 被各大金融机构、政府数据中心和企业使用,是一个开源工具包,用于创建 Kubernetes 集群和集群中应用程序的镜像。 Gravity 是一个可下载的集群镜像,可以部署在任何基础设施上。
MySQL安装常见错误分析:避免安装陷阱,确保成功部署
!...避免安装陷阱,确保成功部署]...# 1. MySQL安装概述** MySQL是一款流行的开源关系型数据库管理系统(RDBMS),以其高性能、可靠性和可扩展性而著称。MySQL安装过程相对简单,但需要考虑一些关键因
gravitee-gateway, Gravitee.io API管理网关.zip
09-18
gravitee-gateway, Gravitee.io API管理网关 网关
gravity:轻巧但功能强大的JS构建工具服务器
05-21
概述 通常,在部署JS组件时,您希望将大量源文件编译为单个构建结果。 这样做的好处包括从客户端角度提高性能(由于加载命中的HTTP命中次数减少),以及开发人员集成组件可能使集成更简单。 重力是专门为减轻这一过程而设计的。 gravity是一种命令行工具,可读取gravity.map文件。 gravity.map是一个JSON文件,可以将其视为项目清单。 在其中,您可以指定构建目标以及用于创建每个目标的源文件。 { " final.js " : [ " src/1.js " , " src/2.js " , ... ] } 这告诉了重力,您想要一个名为final.js的构建产品,这应该是将各种源文件(甚至其他构建产品)一起编译的结果。 可以在找到语法的完整文档。 安装 先决条件: 节点0.8或更大 git 1.7或更高 建议为所有用户安装: su
Gravity 监控
vkingnew 的技术博客
03-05 700
第一部分:监控指标的metrics 第二部分:安装prometheus 使用rpm包或者直接安装tar.gz包: --prometheus安装部署: ## curl -s https://packagecloud.io/install/repositories/prometheus-rpm/release/script.rpm.sh | sudo bash # # yum -y in...
gravity mysql_gravity 使用操作。
weixin_32691913的博客
02-03 321
gravity 使用操作。最近我司有一个比较奇葩的需求,我们的环境是主从,因为数据量较大会定期的删除数据,最近不行了,要求新建出来一个库 同步正事环境的数据,但是要剔除 delete ,drop,truncat 等这些删除数据的语句。因此 准备使用gravity 来进行数据操作。看看能否满足这些需求。这个环境实现的是mysql ---------》 mysql的数据同步(剔除drop,trunca...
诺基亚S60手机使用Gravity访问Twitter的方法
随笔
07-23 1227
Gravity是个很好用的基于诺基亚S60平台的Twitter软件,其界面和功能是同类产品中的佼佼者,不仅仅能访问更新Twitter,还支持基于开源微博客Laconica的系统,非常好用。  在诺基亚S60手机上访问Twitter,和使用浏览器访问Twitter类似,一样需要编辑hosts文件,S60手机的hosts文件地址在C:/Private/10000882/,对于S60V3来说,需要进
布局文件根目录下gravity的作用
gd5544的博客
04-22 450
比如用gridview控件,里面的元素对齐居中,就可以在根目录下加gravity=center
Android之布局文件中属性gravity与layout_gravity
yangshuangyue的博客
08-08 1万+
一、 前言 在写布局界面时,发现gravity与layout_gravity属性,有时起作用,有时不起作用,虽然知道它俩的大概区别,但是具体在什么情况下使用,就有些模糊不清了,又不是特别难的东西,只是缺乏归类整理。目前知道它俩的区别是,gravity属性是用来设置控件中的内容的位置,layout_gravity属性是用来设置当前子控件在父控件中的位置。 二、可以设置的值 属性gravity...
SQL:数据去重的三种方法
热门推荐
eagle89的专栏
01-01 6万+
MYSQL去重方法
android Gravity
05-16
在 Android 中,Gravity 是一个用于控制视图在其父容器中的位置和对齐方式的属性。它可以是水平方向的左对齐、右对齐、居中对齐,也可以是垂直方向的上对齐、下对齐、居中对齐等。Gravity 属性可以用于布局文件或代码中的视图对象。 在布局文件中,可以使用 android:gravity 属性来设置视图在父容器中的对齐方式。例如: ``` <TextView android:id="@+id/text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal|bottom" android:text="Hello World!" /> ``` 其中,android:gravity 的值可以使用 "|" 来组合多个对齐方式。 在代码中,可以使用 setGravity(int gravity) 方法来设置视图的对齐方式。例如: ``` TextView textView = findViewById(R.id.text_view); textView.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM); ``` 其中,Gravity 的常量值可以通过 Gravity 类来获取。
写文章

热门文章

  • mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file ? 128594
  • ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: 71693
  • SQL:数据去重的三种方法 64892
  • Mysql ERROR 1067: Invalid default value for 字段 57361
  • 五大开源MySQL管理工具! 54223

分类专栏

  • MYSQL主从 155篇
  • ES 13篇
  • 英语 1篇
  • DorisDB 27篇
  • AI 1篇
  • docker 1篇
  • 人工智能AI大模型 1篇
  • Flink-cdc 8篇
  • pg 70篇
  • EN 1篇
  • 备份与恢复 27篇
  • MYSQL面试部分 1篇
  • 数据仓库  1篇
  • 全文检索 2篇
  • 分布式 3篇
  • 实时数仓 5篇
  • ETL 1篇
  • tomcat 4篇
  • VUE 1篇
  • K8S 9篇
  • 项目管理 1篇
  • ArcGIS 2篇
  • 图数据库 1篇
  • GREENPLUM 6篇
  • 大数据 5篇
  • ceph 19篇
  • 实时数据传输 9篇
  • 代码审核 6篇
  • 日志 2篇
  • BINLOG解析 3篇
  • 高可用架构 1篇
  • 安全 2篇
  • 慢日志 1篇
  • 云服务接口 1篇
  • 主从同步监控
  • TiDB 1篇
  • mysql 218篇
  • oracle 10篇
  • HADOOP 6篇
  • redis 22篇
  • python 12篇
  • LINUX 91篇
  • 中间件 6篇
  • 自动化运维 8篇
  • postgresql 8篇
  • MONGODB 28篇
  • 监控软件 18篇
  • 故障解决 8篇
  • 容器/虚拟化 4篇
  • SQL自动审核 8篇
  • 用户行为监控 3篇
  • SQL优化 23篇
  • 压力测试 4篇

最新评论

  • Ceph性能测试(RBD、CephFS、NFS、Cache Tier)

    jessica810: 这个测试节点不是集群内的虚机节点吗?

  • windows环境安装Elasticsearch和图形化界面head插件

    胡传雨: 引领技术潮流,是不可多得的好文,十分值得借鉴和参考。期待博主未来能够持续分享更多好文【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • Flink实时同步MySQL与Doris数据

    -Bdy抱大鱼: job任务添加了,但是数据没过去是什么原因

  • Python2升级到Python3

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)使用更多的站内链接;(2)提升标题与正文的相关性;(3)增加条理清晰的目录。

  • gitlab安装与配置

    buerjiajiajia: 为什么改为这个'http://172.17.100.11'

大家在看

  • AGI第三级,智能体需要一个新的身份认证技术
  • Vue 2 和 Vue 3 区别(解析组合式与选项式) 404
  • 云上自动化运维及其应用 417
  • 外贸商城源码,进出口跨境电商平台电脑端+移动端网站+客服系统 网站设计及源码输出 849
  • 请求转发和重定向 27

最新文章

  • 已解决:ModuleNotFoundError: No module named ‘_ctypes‘
  • CentOS 系统上将 Python 更新到 3.9 版本
  • CentOS使用pip安装报错:WARNING: pip is configured with locations that require TLS/SSL, however the ssl modu
2024
10月 3篇
09月 4篇
08月 14篇
07月 10篇
06月 7篇
05月 31篇
04月 19篇
03月 6篇
02月 1篇
01月 13篇
2023年117篇
2022年49篇
2021年108篇
2020年226篇
2019年44篇
2018年149篇
2017年72篇
2016年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢花盆架子中山玻璃钢卡通雕塑材质越南商场美陈雕塑登封玻璃钢雕塑定制二里庄商场美陈河南装饰商场美陈浙江周年庆典商场美陈报价盐田玻璃钢造型雕塑清远玻璃钢动物雕塑供应九江公园玻璃钢雕塑销售厂家天津欧式玻璃钢雕塑供应商徐州玻璃钢抽象人物雕塑厂家价格嘉兴玻璃钢人物雕塑电话安徽佛像玻璃钢雕塑方法江门发光小品玻璃钢雕塑工艺无泄漏玻璃钢雕塑新报价玻璃钢动物牛雕塑哪里有卖的佛山市玻璃钢雕塑公司熊猫玻璃钢雕塑厂家浙江大型商场美陈市场报价河北中庭商场美陈价格郑州抽象人物玻璃钢雕塑东莞玻璃钢花盆制品厂家直销商场环保主题美陈北京专业商场美陈公司山西城市景观雕塑玻璃钢主题玻璃钢雕塑揭阳美陈玻璃钢动物雕塑无锡拉丝玻璃钢雕塑报价绍兴大型商场美陈香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化