设为首页 收藏本站
查看: 1389|回复: 0

[经验分享] otter配置详解

[复制链接]

尚未签到

发表于 2017-2-28 10:35:02 | 显示全部楼层 |阅读模式
  说明 : 为了 mysql 中国、美国、欧洲数据库实时同步
  文档和地址




项目源码     https://github.com/alibaba/otter
发布的版本  https://github.com/alibaba/otter/releases
文档 https://github.com/alibaba/otter/wiki/Faq
说明
mysql 可以单独为一个服务器上
node  节点也可单独在一个服务器上
zookeeper 也可单独在一个服务器上
manager  也可单独在一个服务器上
启动顺序
  1 ) mysql
  2 ) zookeeper
  3 ) manager  
      otter.properties 中 otter.zookeeper.cluster.default
      配置zookeeper集群 离manager最近的一个 zookeeper server地址:port
  4 ) node
例子部署图
    
  配置前准备阶段
  1. ) JDK必须 1.6以上版本.
    Linux 下载 rpm 包  执行 rpm -ivh 包名.rpm
    Ubuntu 下载 tar.gz  执行压缩 tar -zxvf 包名.tar.gz
        Ubuntu 需配置环境变量
        



sudo gedit ~/.profile
在文件末尾加上
export JAVA_HOME=jdk文件路径
export JRE_HOME=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 ~/.profile
//查看java版本
java -version
  2. ) 安装mysql 5.1 > 以上版本.  
  注意:mysql 5.6 安装后 密码初始随机 在 root/ .mysql_secret 文件里     



查看隐藏文件 ll –a

my.cnf文件在 /usr/my.cnf目录了, 不在 /etc/my.cnf

配置文件参考如下

  [mysqld]
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  symbolic-links=0
  ##最大连接数
  max_connections=1000
  ##服务器字符编码
  character_set_server=utf8
  ##开启log-bin row
  log-bin=mysql-bin
  binlog_format='row'
  ##日志默认保存3天
  expire_logs_days=3
  ##必须配置,每个数据库配置的值不一样
  server-id=1
  [mysqld_safe]
  log-error=/var/log/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid
  3. ) 源数据库已开启binlog,并且binlog_format为ROW.



mysql> show variables like '%binlog_format%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW   |
+---------------+-------+
  安装aria2   (在 node 节点服务器上安装)
  下载地址  http://sourceforge.net/projects/aria2/files/stable/



需要g++  如没有需要安装
yum install gcc-c++ libstdc++-devel
下载aria2 并解压 之后编译 配置环境 例子如下
mkdir /usr/local/aria2
./configure  --prefix=/usr/local/aria2
make && make install
vi /etc/profile
PATH=$PATH:/usr/local/aria2/bin
source /etc/profile

测试是否安装成功
aria2c 命令
  安装zookeeper 并启动



参考地址  http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
      
http://blog.csdn.net/shirdrn/article/details/7183503#主机名称到IP地址映射配置
  192.168.0.179 slave-01
  192.168.0.178   slave-02
  192.168.0.177   slave-03


配置zookeeper conf文件
cp zoo_sample.cfg  zoo.cfg
vi zoo.cfg

修改

  tickTime=2000
  dataDir=/home/otter/zookeeper/data
  clientPort=2181
  initLimit=5
  syncLimit=2
  server.1=slave-01:2888:3888
  server.2=slave-02:2888:3888
  server.3=slave-03:2888:3888

里面的目录没有 需要自行创建 不然无法启动
启动之前还要配置 host文件  
vi /etc/hosts

  192.168.0.179 slave-01
  192.168.0.178   slave-02
  192.168.0.177   slave-03

启动 zookeeper server
./zkServer.sh start

  zookeeper manager里面查看zookeper需要 nc 如果没有 需要安装(不安装也不影响同步)

yum install nc
(另:配置集群观察者模式  在 zoo.cfg 文件中做如下修改  
    在需要观察者模式的zookeeper server上
   配置如下
   tickTime=2000
    dataDir=/home/otter/zookeeper/data
    clientPort=2181
    initLimit=5
    syncLimit=2
    peerType=observer
    server.1=slave-01:2888:3888:observer
    server.2=slave-02:2888:3888
    server.3=slave-03:2888:3888
    ##在 slave-01上配置文件如上,slave-01即是观察者模式 不参与选举
)
  解压manager 并启动



conf/目录下 otter.properties
## otter manager domain name
otter.domainName = 192.168.0.100    -- web管理ip和node节点配置的
## otter manager http port
otter.port = 8080
## jetty web config xml
otter.jetty = jetty.xml
## otter manager database config
otter.database.driver.class.name = com.mysql.jdbc.Driver
otter.database.driver.url = jdbc:mysql://localhost:3306/otter
otter.database.driver.username = root
otter.database.driver.password =
## otter communication port
otter.communication.manager.port = 1099
## otter communication pool size
otter.communication.pool.size = 10
## default zookeeper address
otter.zookeeper.cluster.default = 192.168.0.179:2181 ##如果有多个逗号分开,一个集群只需要写离manager最近的一个即可
## default zookeeper sesstion timeout = 60s
otter.zookeeper.sessionTimeout = 60000
## otter arbitrate connect manager config
otter.manager.address = ${otter.domainName}:${otter.communication.manager.port}
## should run in product mode , true/false
otter.manager.productionMode = true
## self-monitor enable or disable
otter.manager.monitor.self.enable = true
## self-montir interval , default 120s
otter.manager.monitor.self.interval = 120
## auto-recovery paused enable or disable
otter.manager.monitor.recovery.paused = true
# manager email user config
otter.manager.monitor.email.host = smtp.gmail.com
otter.manager.monitor.email.username =
otter.manager.monitor.email.password =
otter.manager.monitor.email.stmp.port = 465
  解压node 并启动
   先进入manager中 按如下操作
    机器管理 (菜单)-->> zookeeper管理(选项)(按照提示添加部署好的zookeeper集群)
    图如下
   DSC0000.png
    机器管理  (菜单) -->> Node管理 (选项)(安装提示添加node节点,)
    图如下
     DSC0001.png
    机器端口 2088
    添加成功后 会产生一个 序号 (> 0 整数)
    将此序号写入 node conf目录中
    



echo 序号 > node/conf
  修改配置文件 conf/otter.properties



# otter node root dir
otter.nodeHome = ${user.dir}/../
## otter node dir
otter.htdocs.dir = ${otter.nodeHome}/htdocs
otter.download.dir = ${otter.nodeHome}/download
otter.extend.dir= ${otter.nodeHome}/extend
## default zookeeper sesstion timeout = 60s
otter.zookeeper.sessionTimeout = 60000
## otter communication pool size
otter.communication.pool.size = 10
## otter arbitrate & node connect manager config
## manager管理地址 : port
otter.manager.address = 192.168.0.100:1099

  启动 node 节点
    



./node/bin/startup.sh
  启动成功后能够在manager管理里面看到 添加的node节点 状态 为 “已启动”
    
    接下来在manager里
      1.)配置管理菜单中 依次配置 数据源 、数据表 、canal
      2.)在同步管理菜单中添加 channel  (是否开启数据一致性:开启)
         (注意:参数尽量选择默认)
      3.)添加 pipeline (一个channel 只能添加两个 pipeline ,
            两个为双向同步,如果要用DDL同步,一个pipeline开启ddl同步,
            另一个不要开启,且都要开启跳过ddl异常,DryRun模式 不要开启)
      4.)配置 表映射
      5.)在channel管理中开启 channel 同步即可

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348318-1-1.html 上篇帖子: javax.servlet.UnavailableException: com.sun.xml.ws.transport.http.servlet.WSServ 下篇帖子: 配置管理系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表