前言

为了学习otter,上一篇我们讲到了 otter 必要软件的安装,参考:virualbox 安装 otter 必备软件,现在安装otter,相比官方文档,我们尽量简化安装步骤。

virualbox clone

之前我们安装的一台虚拟机,我们现在就可以clone 一台出来。这样我们把一台当做manager, 另外一台当做node。

网络链接

同样参照之前 virualbox 配置网络,确保NAT,和host-only 网卡正常工作。

manager 安装

环境准备

先到我们第一台虚拟机,我们定义它为manager虚拟机。前面我们已经装好了mysql了,现在就可以用到了,这里我是用工具跑的,不是用命令跑的。直接点开在浏览器打开:https://raw.githubusercontent.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql

然后打开我们IDE, 复制sql 代到IDE,然后在最上面加上 SET sql_mode = '';

启动步骤

  1. 直接去https://github.com/alibaba/otter/releases 下载编译好的文件。

    这里我们使用的是

    $ wget https://github.com/alibaba/otter/releases/download/v4.2.14/manager.deployer-4.2.14.tar.gz
  2. 解压缩

    $ mkdir /tmp/manager

    $ tar zxvf manager.deployer-4.2.14.tar.gz -C /tmp/manager
  3. 配置修改

    把 127.0.0.1 改成当前虚拟机内网host-only ip, 这里我的ip 为 192.168.56.101.

  4. 准备启动

    $ ./bin/startup.sh
  5. 查看日志

    $ vim logs/manager.log
2013-08-14 13:19:45.911 [] WARN  com.alibaba.otter.manager.deployer.JettyEmbedServer - ##Jetty Embed Server is startup!
2013-08-14 13:19:45.911 [] WARN com.alibaba.otter.manager.deployer.OtterManagerLauncher - ## the manager server is running now ......
  1. 验证



    初始密码为: admin/admin

node

环境准备

  1. 安装完成 manager,添加一个zookeeper 集群,zookeeper 虚拟机安装过了。

  2. 在manager 中添加一个node,为的是产生一个唯一id,



    添加完成

启动步骤

  1. 下载otter node, 可访问:https://github.com/alibaba/otter/releases ,这里我们直接用最新的。

    $ wget https://github.com/alibaba/otter/releases/download/v4.2.14/node.deployer-4.2.14.tar.gz
  2. 解压缩

    $ mkdir /tmp/node

    $ tar zxvf node.deployer-4.2.14.tar.gz -C /tmp/node
  3. 配置修改

    a. 把nid 写入进去

    $ cd /tmp/node

    $ echo 1 > conf/nid

    b. 修改otter.properies

    基本上什么都不用改,只需填写manager地址要改otter.manager.address=192.168.56.101:1099

  4. 启动

    $ ./bin/startup.sh
  5. 查看日志

    $ vim logs/node/node.log
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
2017-11-01 06:21:54.027 [main] INFO com.alibaba.otter.node.deployer.OtterLauncher - INFO ## the otter server is running now ......
  1. 验证

操作演示

建表

manager 和 node 数据库都跑这个

CREATE DATABASE `test`;
CREATE TABLE `test`.`example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) COLLATE utf8_bin DEFAULT NULL ,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

配置

  1. 添加 canal

  2. 添加数据源 managedb,然后点击验证数据源,这里编码是UTF-8,这个地方是个有个坑的,但是我们已经在之前的必要安装里面设置过了mysql默认编码为UTF-8。

  3. 再添加一个node1db.

  4. 添加数据表



  5. 添加channel

  6. 添加Pipeline

    这里需要点击一下 channel 的名字



    添加一下

  7. 添加映射关系

    首先需要点击一下 pipeline 的名字



    到这里就是很简单的选择,源数据表选择managedb中 test数据库的exmple表,目标数据表选择node1db 中的example 表。

  8. 执行channel

    回到channl 管理点击启用按钮。

最终验证

你在mangerdb 中任何改动都会同步到node上,

  1. 添加数据

  2. 添加一列

最后

终于把otter 入门测试环境搭建好了,里面省去教程很多不必要步骤,而且还提醒大家在搭建时候遇到的坑,希望大家喜欢,有任何问题欢迎指教。

参考:https://github.com/alibaba/otter/wiki/QuickStart

virualbox 搭建 otter的更多相关文章

  1. virualbox 安装 otter 必备软件

    前言 最近研究了一下阿里otter项目(分布式数据库同步),所以就在virualbox 上开始准备学习一下,遇到了不少坑,所以记录一下啊. otter 项目:https://github.com/al ...

  2. multipass指定virualbox搭建k8s集群(选择docker作为默认容器)

    目录 前言 步骤 初始化三台虚拟机 统一安装docker 修改docker镜像源 查看masterIP 安装master节点(重点设置) 查看master的token 安装worker节点 测试 部署 ...

  3. 阿里 otter搭建过程整理

    1 环境说明: 本机ip 192.168.8.3 虚拟机1 ip 192.168.8.5 虚拟机2 ip 192.168.8.6 虚拟机采取桥接模式 虚拟机系统为CentOS 2.6.32-279.e ...

  4. mysql同步之otter/canal环境搭建完整详细版

    接上一篇mysql 5.7多源复制(用于生产库多主库合并到一个查询从库). 这一篇详细介绍otter/canal环境搭建以及当同步出现异常时如何排查.本文主要参考https://blog.csdn.n ...

  5. Otter双A同步搭建入门教程

    1.准备阶段 1.1 环境 虚拟机A :192.168.0.130 虚拟机B :192.168.0.131 系统:Ubuntu 16.04 LTS JRE:OpenJDK 1.8.0_151(A.B都 ...

  6. otter搭建

    转载: https://blog.csdn.net/inthat/article/details/93595156 https://www.cnblogs.com/Inspire-Yi/p/80943 ...

  7. otter双主同步安装与配置

    otter是阿里的开源数据同步项目,资源地址就不用说了哈,网上找,阿里云论坛关于单方向同步的配置已经很清楚了,理论上说,双主同步也不复杂,但是毕竟 是数据库,比较重要,配置双主的时候,总觉得心里没底, ...

  8. otter双A同步配置

    otter双A配置 最近做跨国服务器的数据同步,用了阿里的otter开源框架,遇到了不少问题,写一下文档为以后做参考. 第一步: 下载所需的文件 :otter,zookeeper,aria2 otte ...

  9. canal demo搭建全记录

    一.环境介绍 canal是阿里开源的中间件,主要用于同步mysql数据库变更.具体参见:https://github.com/alibaba/canal/releases 搭建环境: vmware c ...

随机推荐

  1. 从content-type设置看Spring MVC处理header的一个坑

    我们经常需要在HttpResponse中设置一些headers,我们使用Spring MVC框架的时候我们如何给Response设置Header呢? Sooooooooooooo easy, 看下面的 ...

  2. <c:forEach>+<c:if>

    <c:forEach>:用来做循环<c:if>:相当于if语句用于判断执行,如果表达式的值为 true 则执行其主体内容. <c:forEach var="每个 ...

  3. 关于ng-options

    在实际使用过程中对angular的ng-options指令有点不解,有的时候觉得很容易理解和上手,但其实等到遇到问题时,发现它很是生疏,(key,value)键值对获取,as关键词,track by ...

  4. VS2015 + EF6连接MYSQL

    ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,不仅支持SQL Server,还支持MySQL.Ora ...

  5. Xcode 上传代码到GitHub

    几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习.但是如何在Xcode中上传代码至GitHub呢? (开始之前先安装git,具体方法这里讲的很清楚 ...

  6. ThinkPHP控制器输出防止乱码小技巧

    在控制器中加一句:试试看 header('content-type:text/html;charset=utf-8');

  7. 快速搭建属于自己的数据库——mongodb

    为了真实模拟一个项目上线,拥有前端后端数据库都具备的功能,我选择了mongodb作为项目的数据库支持,这里分享一些mongodb的经验心得和血的教训. mongoddb安装 在本地安装 直接通过官网下 ...

  8. 【Linux笔记(002) 】-- centos7 文档操作基本命令

    一.cd -- ChangeDirectory a) 切换到 /DemoLM/ 文件夹 b) 回到用户 Home 根目录:是哪个账户登录的就会进入哪个用户的根目录 二.pwd -- PrintWork ...

  9. Longest Uncommon Subsequence I

    Given a group of two strings, you need to find the longest uncommon subsequence of this group of two ...

  10. 【JAVA零基础入门系列】Day4 变量与常量

    这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...