在亚马逊云服务器上部署阿里数据库Otter(三)

来源:互联网 发布:济宁网络教育 编辑:程序博客网 时间:2024/05/11 02:40

五、aria2的安装

   tar zxvf aria2-$version.tar.gz
   mv aria2-$version aria2
   cd aria2  

   apt-get install libxml2-dev

   apt-get install g++

   apt-get install make
   ./configure
   make
   make install
   把aria2安装后的bin目录下的执行文件添加到环境变量path中 ( 本地安装的目录是/usr/local/aria2,安装后 ,bin目录在/usr/local/bin/)

六、node的安装(node 需要aria2支持)

   tar zxvf node.deployer-$version.tar.gz
   修改node的配置:
   vi conf/otter.properties
   otter.manager.address =54.244.58.100:1099  ##对应manager中otter.properties的配置 otter.communication.manager.port
   

   sh startup.sh/stop.sh(稍后才会成功)


七、canal的配置

wget https://github.com/alibaba/canal/releases/download/canal-1.0.17/canal.deployer-1.0.17.tar.gz
tar zxvf canal.deployer-$version.tar.gz
vi conf/example/instance.properties


#################################################
## mysql serverId
canal.instance.mysql.slaveId = 1234

# position info,需要改成自己的数据库信息
canal.instance.master.address = 127.0.0.1:3306 
canal.instance.master.journal.name = 
canal.instance.master.position = 
canal.instance.master.timestamp = 


#canal.instance.standby.address = 
#canal.instance.standby.journal.name =
#canal.instance.standby.position = 
#canal.instance.standby.timestamp = 


# username/password,需要改成自己的数据库信息
canal.instance.dbUsername = canal  
canal.instance.dbPassword = canal
canal.instance.defaultDatabaseName =
canal.instance.connectionCharset = UTF-8


# table regex
canal.instance.filter.regex = .*\\..*


#################################################


八、配置02和03的MySQL  (将此步骤加到2后)

  vi /etc/mysql/my.cnf

  bind_adress=172.31.30.167/172.31.47.5(服务器IP)

  添加以下的配置:
  log-bin=mysql-bin
  binlog_format=ROW  #修改成ROW

  server-id = 1     #两个机房的serverid设置为不一样的值


  然后启动数据库,执行sql:
   CREATE USER canal IDENTIFIED BY 'canal'; 
   GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
   GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ; -- 赋权限,
   FLUSH PRIVILEGES;
   show grants for 'canal';--查看权限
   
   需要注意的是,有的Mysql版本,自带了两个匿名用户,需要把两个匿名用户删除。
   执行sql:
   use mysql;--进入mysql库
   select user,host,password from mysql.user;--查询用户列表

   delete from mysql.user where user='';--删除匿名用户  


将编码全部设置为UTF-8:


在[client ] 下面加入     

default-character-set=utf8


在[ mysqld ] 下面加   

character-set-server=utf8  

init_connect='SET NAMES utf8'


在[ mysql ] 下面加入      

default-character-set=utf8


重启MySQL:
sudo /etc/init.d/mysql restart 
show variables like 'character%';--查看mysql编码


说明:以下脚本为双A机房数据库同步的初始化SQL,如无该需求请忽略之,注意修改密码
/*
供 otter 使用, otter 需要对 retl.* 的读写权限,以及对业务表的读写权限
1. 创建database retl
*/
CREATE DATABASE retl;

/* 2. 用户授权 给同步用户授权 */
CREATE USER retl@'%' IDENTIFIED BY 'retl';
GRANT USAGE ON *.* TO `retl`@'%';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `retl`@'%';
GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON `retl`.* TO `retl`@'%';
/* 业务表授权,这里可以限定只授权同步业务的表 */
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO `retl`@'%';  


/* 3. 创建系统表 */
USE retl;
DROP TABLE IF EXISTS retl.retl_buffer;
DROP TABLE IF EXISTS retl.retl_mark;
DROP TABLE IF EXISTS retl.xdual;


CREATE TABLE retl_buffer
(
ID BIGINT(20) AUTO_INCREMENT,
TABLE_ID INT(11) NOT NULL,
FULL_NAME varchar(512),
TYPE CHAR(1) NOT NULL,
PK_DATA VARCHAR(256) NOT NULL,
GMT_CREATE TIMESTAMP NOT NULL,
GMT_MODIFIED TIMESTAMP NOT NULL,
CONSTRAINT RETL_BUFFER_ID PRIMARY KEY (ID) 
)  ENGINE=InnoDB DEFAULT CHARSET=utf8;


CREATE TABLE retl_mark
(
ID BIGINT AUTO_INCREMENT,
CHANNEL_ID INT(11),
CHANNEL_INFO varchar(128),
CONSTRAINT RETL_MARK_ID PRIMARY KEY (ID) 
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


CREATE TABLE xdual (
  ID BIGINT(20) NOT NULL AUTO_INCREMENT,
  X timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (ID)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


/* 4. 插入初始化数据 */
INSERT INTO retl.xdual(id, x) VALUES (1,now()) ON DUPLICATE KEY UPDATE x = now();
   

0 0
原创粉丝点击