zoukankan      html  css  js  c++  java
  • 阿里 otter搭建部署

    IP:10.10.6.172 部署:mysql目标库,mysql源数据库
    IP:10.10.6.173 部署:zookeeper,manager,node,canal (也都部署到源库服务器上)

    由于otter进行数据库同步,目前仅支持row,所以需要把源库的binlog_format改为ROW

    log-bin=mysql-bin
    expire_logs_days=3
    binlog_format=ROW
    character-set-server=utf8
    #default-character-set=utf8
    collation-server=utf8_general_ci   #设置mysql的字符集
    

    下载ddl同步策略表

    https://github.com/alibaba/otter/tree/master/node/deployer/src/main/resources/sql/otter-system-ddl-mysql.sql
    

    下载manager系统表

     wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql #导入otter数据库中
    

    导入系统表和otter用户

    mysql>source otter-manager-schema.sql
    mysql>source otter-system-ddl-mysql.sql
    mysql>CREATE USER canal IDENTIFIED BY 'canal; 
    mysql>GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%';
    mysql>FLUSH PRIVILEGES;
    

    otter为纯java编写(manager,node,canal都为java编写),所以需要安装JDK。
    设置java环境变量
    vi /etc/profile

    export JAVA_HOME=/usr/local/jdk
    export JRE_HOME=/usr/local/jdk/jre
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH
    
    

    source /etc/profile

    一、部署zookeeper
    下载地址:http://pan.baidu.com/s/1miC2j4O
    官网地址:https://zookeeper.apache.org/

    tar zxvf zookeeper-3.4.10.tar.gz
    mv zookeeper-3.4.10 /usr/local/zookeeper
    cd /usr/local/zookeeper/conf
    mv zoo_sample.cfg zoo.cfg
    mkdir /usr/local/zookeeper/data
    
    修改zoo.cfg配置文件
    vi /usr/local/zookeeper/conf/zoo.cfg
    
    dataDir=/usr/local/zookeeper/data
    autopurge.purgeInterval=1
    
    修改bin/zkEnv.sh脚本
    vi /usr/local/zookeeper/bin/zkEnv.sh
    将ZOO_LOG_DIR="." 修改为ZOO_LOG_DIR="/usr/local/zookeeper/data"
    将ZOO_LOG4J_PROP=”INFO,CONSOLE” 修改为ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
    
    修改bin/zkServer.sh脚本:
    vi /usr/local/zookeeper/bin/zkServer.sh
    将ZOOBIN="${BASH_SOURCE-$0}" 修改为ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`
    
    修改bin/zkCli.sh脚本:
    vi /usr/local/zookeeper/bin/zkCli.sh
    将ZOOBIN="${BASH_SOURCE-$0}" 修改为ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`
    
    建立软连接
    ln -s /usr/local/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server
    ln -s /usr/local/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli
    
    echo 1 > /usr/local/zookeeper/data/myid
    
    启动:zk-server start
    关闭:zk-server stop
    

    二、部署manager
    下载地址:http://pan.baidu.com/s/1i5aEEw9
    官网地址:https://github.com/alibaba/otter/releases

    mkdir /usr/local/manager
    tar zxvf manager.deployer-4.2.14.tar.gz -C /usr/local/manager
    
    配置修改
    vi /usr/local/manager/conf/otter.properties
    
    ## otter manager domain name #修改为正确访问ip,生成URL使用
    otter.domainName = 10.10.6.173
    ## otter manager http port
    otter.port = 8080
    ## jetty web config xml
    otter.jetty = jetty.xml
    
    ## otter manager database config #修改为正确数据库信息 otter数据库SQL:http://pan.baidu.com/s/1kUEVQEN
    otter.database.driver.class.name = com.mysql.jdbc.Driver
    otter.database.driver.url = jdbc:mysql://10.10.6.199:3306/otter
    otter.database.driver.username = root
    otter.database.driver.password = 123456
    
    ## default zookeeper address #修改为zookeeper地址信息
    otter.zookeeper.cluster.default = 127.0.0.1:2181
    
    启动:/usr/local/manager/bin/startup.sh
    关闭:/usr/local/manager/bin/stop.sh
    

    三、部署node
    下载地址:http://pan.baidu.com/s/1bpEg2g3
    官网地址:https://github.com/alibaba/otter/releases

    mkdir /usr/local/node
    tar zxvf node.deployer-4.2.14.tar.gz -C /usr/local/node
    
    cd /usr/local/node
    echo 1 > conf/nid #需要和manager管理页面的序号相同
    
    配置修改
    vi /usr/local/node/conf/otter.properties
    
    ## otter arbitrate & node connect manager config #修改manager的地址信息
    otter.manager.address = 127.0.0.1:1099
    
    启动:/usr/local/node/bin/startup.sh #先不用启动
    关闭:/usr/local/node/bin/stop.sh
    

    node需要aria2

    下载地址:http://pan.baidu.com/s/1hsonOA4

    rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
    yum -y install aria2
    

    四、部署canal
    下载地址:http://pan.baidu.com/s/1jIE8nTc
    官网地址:https://github.com/alibaba/canal/releases #下载canal.deployer

    mkdir /usr/local/canal
    tar zxvf canal.deployer-1.0.24.tar.gz -C /usr/local/canal
    

    只需部署canal无需配置和启动,canal可嵌入式运行,在manager页面管理中设置

    五、设置manager管理页面
    访问地址:http://10.10.6.173:8080/login.htm 用户名密码都为admin,密码可以系统管理中修改

    1、Zookeeper管理
    此处输入图片的描述

    2、Node管理

    此处输入图片的描述

    3、数据源配置

    此处输入图片的描述
    此处输入图片的描述

    此处输入图片的描述

    4、数据表配置

    先在源库和目标库新建一个测试表

    SQL代码:

    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;
    
    

    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述

    5、canal配置
    此处输入图片的描述

    6、同步管理
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述

    7、测试

    在源库中增加、修改、删除数据,在目标库中会准实时跟着变更。
    无论channel是否运行,点击推送,都可以同步两个数据库的数据
    channel配置的两个数据库,一个数据库停止,channel会挂起,点击推送后恢复正常运行

  • 相关阅读:
    bzoj3028食物 关于(1+x+x^2+x^3+x^4+...)^k的第i项系数就是c(i+k−1,k−1)的证明
    一个好玩的题--倒水
    HDU4372(第一类斯特林数)
    MySQL常用基本语句
    腾讯windows客户端一面
    腾讯PC客户端开发方向一面
    LeetCode数据库175
    Intern Day47
    Intern Day46
    Intern Day46
  • 原文地址:https://www.cnblogs.com/flyhgx/p/7825872.html
Copyright © 2011-2022 走看看