阿里 数据库同步工具
https://github.com/alibaba/otter/wiki
提供了docker镜像,
做此记录时
ortter版本是 4.2.17
canal版本1.1.2
注
canal版本1.1.2 低版本数据库没有binlog_checksum会导致不能同步
参照:https://github.com/alibaba/otter/issues/674
做此记录时新版本的canal还未发布
自己打包的canal主干代码,修改otter的pom.xml解决了
一些使用备忘的记录
1.打包需要安装maven
2.编译时有的jar包在maven库中没有,lib下面有install.sh,可以执行本地安装
注
lib/jtester-1.1.8.pom 中的jmockit版本修改了,好像时为了单元测试,打包时不需要做单元测试,所以需要改回原来的0.999.4,否则maven下载不成功
参照:https://github.com/alibaba/otter/commit/cf4a5c9090fd2af168784a4991f46d6554023c37
3.docker镜像构建脚本 docker/build.sh
4.启动脚本 docker/run.sh
5.默认登陆用户 admin:admin
6.源库需要开启binlog
/etc/my.cnf文件,[mysqld]下追加以下参数
server-id=181211
log_bin=mysql-bin
binlog_format=ROW
expire_logs_days=30
character-set-server=utf8
重启数据库 service mysql restart
7.数据源版本为5.1.73,虽然会正常同步数据,但是频繁出SocketTimeoutException时,
参考:https://github.com/alibaba/otter/issues/677
用数据库自带的定时事件解决可参考以下脚本
CREATE TABLE `otter_connection_keep` (
`id` INT NOT NULL,
`update_date` DATETIME NULL,
PRIMARY KEY (`id`));
INSERT INTO `otter_connection_keep` (`id`) VALUES ('1');
drop event if exists otter_connection_keep;
create event otter_connection_keep
on schedule
every 20 SECOND
do UPDATE otter_connection_keep SET update_date = now() WHERE `id`='1';
SET GLOBAL event_scheduler = 1; -- 开启事件调度器,关闭设0,或修改/etc/my.cnf文件,[mysqld]下追加 event_scheduler=1
show variables like '%event_scheduler%';
show events; -- 查看当前库
select * from mysql.event; -- 查看所有事件,可通过body查看事件内容
show processlist;
8.监控用邮件服务配置在
otter-otter-4.2.17/manager/deployer/src/main/resources/otter.properties
9.docker 启动日志查看
docker logs otter-all
分享到:
相关推荐
总结,Otter分布式数据库同步系统在处理大数据实时同步方面具有显著优势,其灵活的配置和强大的功能使其成为企业和开发者解决数据同步问题的重要工具。无论是理论研究还是实际应用,了解和掌握Otter都能为我们的技术...
【阿里巴巴开源项目:分布式数据库同步系统 Otter】是专为解决跨国、异地机房数据库同步问题而设计的高效工具。该项目起源于阿里巴巴 B2B 公司的需求,由于其业务特性,需要在国内杭州和美国之间建立双活机房,以...
Otter 是一个强大的分布式数据同步工具,主要用于在多个数据库之间进行实时的数据同步。它由阿里巴巴开源,被广泛应用于大数据架构中,确保数据的一致性和完整性。本教程将带你入门Otter的双A(即主主模式)同步搭建...
Otter 是阿里巴巴开源的一款强大的数据同步工具,特别适合在分布式环境中进行实时的数据迁移和同步。它解决了传统数据库主从复制的局限性,提供了更高效、灵活的解决方案。本篇文章将详细介绍Otter的主要功能、架构...
综上所述,Otter是一个强大的数据库同步工具,尤其适用于需要多地数据库实时同步的企业和开发者。通过深入理解和熟练使用Otter,可以构建稳定、高效的数据同步环境,提高数据服务的质量和安全性。
otter作为阿里开源的一款数据同步工具,它的出现为大规模分布式系统的数据同步提供了强有力的工具支持。在深入理解otter之前,我们必须先了解数据同步的基本概念和重要性。 数据同步是指将数据在多个数据库或文件...
阿里巴巴的分布式数据库同步系统Otter4是一种用于解决中美异地机房数据库数据同步问题的解决方案。本文档详细介绍了其使用方法,并以otter4为例,解释了如何进行mysql与Oracle数据库之间的跨机房数据同步。下面将...
Otter的灵活性和强大功能使其成为企业级数据库同步的首选工具。通过熟练掌握其部署与使用,可以有效地实现数据库的主从复制、灾备切换,提升系统的可用性和可靠性。在实际应用中,应根据业务需求不断优化配置,确保...
- **Otter**是一种用于实现跨数据中心或跨地域数据库同步的解决方案,主要基于阿里巴巴开源项目Canal来捕获MySQL实例的Binlog日志,并对这些日志进行解析处理后发送至目标数据库。 - **工作原理**: - **基于Canal...
Otter4是一款由阿里巴巴开源的高性能数据同步工具,主要用于解决不同数据库间的数据同步问题,支持MySQL和Oracle数据库的互相同步,包括单向同步、双向同步以及无冲突变更等多种同步模式。其主要用途包括异地机房的...
Otter 是一个强大的 MySQL 日志级同步工具,它主要用于实现数据库之间的实时数据迁移或复制。以下是对 Otter 使用和维护的详细说明: 1. **Manager 登录与配置**: Otter 的管理平台通过 Manager 组件进行配置和...
阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。
### 深入理解Otter:一种高效的数据库同步解决方案...综上所述,Otter作为一种高效的数据同步工具,不仅解决了跨国数据中心之间的同步难题,还能应对各种复杂的业务场景,为用户提供了一种灵活、高效且稳定的解决方案。
Otter是一款高效的数据库同步工具,它能够实现MySQL数据库之间的数据同步,并支持多种同步模式。本文档旨在详细介绍如何基于Otter搭建一个完整的集群配置,包括其原理、所需工具、部署过程以及具体步骤。 #### 二、...
Otter,全称为Open Telephony Platform for Enterprise Reengineering,是由阿里巴巴开源的一款分布式数据同步工具。它主要用于实现数据库之间的实时增量数据同步,支持多种数据库类型,如MySQL、Oracle、SQL Server...
综上所述,阿里巴巴的分布式数据库同步系统Otter,以其高效的数据同步能力、灵活的架构设计以及对多种复杂业务场景的支持,成为了企业解决跨机房数据同步问题的一个重要工具。通过对关键技术和策略的深入理解,可以...
《深入浅出Otter与Canal》这本书主要探讨了两个重要的数据库同步工具——Otter和Canal,它们在大数据处理和实时数据同步方面扮演着重要角色。本文将围绕这两个工具展开,详细介绍它们的工作原理、应用场景以及如何...
Otter是阿里巴巴开源的一款分布式数据同步工具,主要用于解决多数据中心之间的数据实时同步问题。它能够高效、稳定地在不同数据库之间进行数据迁移和同步,确保数据的一致性和完整性。本篇将详细介绍Otter的架构与...