首页 > 数据库 > 国内数据库 > GBase RTSync工具快速部署(一)
GBase RTSync同步工具是南大通用数据技术股份有限公司开发的用于同步指定数据库数据到目标数据库的软件工具。同步工具支持增量同步功能,增量同步支持多种数据库,其中源端数据库支持GBase 8s、Oracle、Mysql数据库,目标端支持GBase 8a、GBase 8s、oracle、mysql数据库。
GBase RTSync同步工具由四个子系统组件组成,分别是读数据组件、消息队列组件、写数据组件和管理组件 :
² 读数据组件,从数据源获取并解析增量数据逻辑日志,按照特定的协
议标准封装后发送给消息队列;
² 消息队列组件,传输和缓冲读数据组件发送的数据。目前支持 Kafka
以及Rabbit MQ,两者均可保证高可用。
² 写数据组件,从消息队列组件中获取协议数据,并根据目标库的类型
组织和优化数据,将数据写入目标数据库;
² 管理组件,启、停和监控读、写组件,校验源和目标端数据同步相关
配置信息;
支持如下的操作系统和平台:
32/64 位Linux 系列(Red Hat 、CentOS 、SUSE)
JDK1.7以上版本
1) 支持基于x86_64 的标准PC服务器;
2) 支持千兆、万兆 Ethernet 网络;
3) 支持InfiniBand 网络。
安装环境示例:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GBase RTSync同步工具安装部署依赖zookeeper集群和kafka集群,所以,在安装部署同步工具前,需要确保安装并配置好zookeeper和kafka服务,
工具部署
RTSync工具部署前需要确保以下三点:
1、 配置zookeeper和kafka安装的服务器的/etc/hosts 文件,确保ip 和hostname的映射关系
2、 Zookeeper服务环境安装完成且服务启动正常,
3、 kafka服务环境安装完成且服务启动正常
如果已经正确安装部署完zookeeper和kafka、以及配置完/etc/hostname 文件,下面正式开始安装部署RTSync 同步工具及数据同步展示。
3.2 配置/etc/hosts 文件
配置方法及步骤如下:
假设 zookeeper、kafka安装部署在172.16.3.19、172.16.3.119两台服务器上,则需要配置这两台服务器的/etc/host 文件
步骤1:分别查看172.16.3.19、172.16.3.119两台服务器的hostname名称
172.16.3.19服务器 hostname为node1,如下:
[root@node1 ~]# hostname
node1
172.16.3.119服务器 hostname为node6,如下:
[root@node6 bin]# hostname
node6
步骤2:分别修改172.16.3.19、172.16.3.119服务器/etc/hosts 文件,两台服务器/etc/hosts文件都添加ip和hostname的映射关系,具体如下(红色字体部分):
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.3.19 node1
172.16.3.119 node6
步骤3:分别在172.16.3.19、172.16.3.119服务器上ping hostname,验证是否能够ping通,能ping通即配置成功,如下:
1)登录到172.16.3.19服务器分别执行:ping node1、ping node6查看结果
[root@node1 ~]# ping node1
PING node1 (172.16.3.19) 56(84) bytes of data.
64 bytes from node1 (172.16.3.19): icmp_seq=1 ttl=64 time=0.020 ms
[root@node1 ~]# ping node6
PING node6 (172.16.3.119) 56(84) bytes of data.
64 bytes from node6 (172.16.3.119): icmp_seq=1 ttl=64 time=0.319 ms
2)登录到172.16.3.119服务器分别执行:ping node1、ping node6查看结果
[root@node6 bin]# ping node1
PING node1 (172.16.3.19) 56(84) bytes of data.
64 bytes from node1 (172.16.3.19): icmp_seq=1 ttl=64 time=0.286 ms
[root@node6 bin]# ping node6
PING node6 (172.16.3.119) 56(84) bytes of data.
64 bytes from node6 (172.16.3.119): icmp_seq=1 ttl=64 time=0.026 ms
3.3 安装zookeeper 服务
Zookeeper和Kafka需要使用Java1.7版本以上的Java环境,因此需要先确认是否已安装好Java环境。
执行如下命令:
|
# java -version |
查看Java环境,如果为Open JDK则需要安装Java环境;如果为Java SE1.7以上环境则可以跳过安装Java步骤。
1. 安装Java环境
1) 使用root用户登录到操作系统;
2) 在/usr目录下建立Java安装目录:
|
# cd /usr # mkdir java |
3) 将jdk包复制到java目录下
|
# cp /opt/jdk-8u102-linux-x64.tar.gz /usr/java |
4) 解压jdk到当前目录,得到文件夹jdk1.8.0_102
|
# tar –zxf jdk-8u102-linux-x64.tar.gz |
5) 建立链接目录
|
# ln –s /usr/java/jdk1.8.0_102 /usr/jdk |
6) 设置环境变量
|
# vim /etc/profile |
在文件末尾添加如下内容:
|
JAVA_HOME=/usr/jdk PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH JAVA_HOME CLASSPATH |
7) 使环境变量生效
|
# source /etc/profile |
8) 查看安装情况
|
# java -version |
2. ZooKeeper集群安装
1) 将安装包解压到指定目录,如172.16.3.19的/home/test/zookeeper-3.4.9目录
2) 修改ZooKeeper配置文件,执行如下命令:
|
# cd /home/test/zookeeper-3.4.9/conf # cp zoo_sample.cfg zoo.cfg # vim zoo.cfg |
修改如下配置项:
a) 修改dataDir=/home/test/zookeeper-3.4.9/data,设置zookeeper数据存储路径
b) 设置规划zookeeper集群,本例为两节点,在文件末尾增加如下配置项(注意server.1中的1代表id,搭建集群时按顺序写下去保证唯一):
|
server.1=172.16.3.19:2888:3888 server.2=172.16.3.119:2888:3888 |
3) 创建dataDir设置的目录,执行如下命令:
|
# mkdir /home/test/zookeeper-3.4.9/data |
4) 在dataDir设置的目录下增加 myid文件,输入本机对应的server.id中的id值,执行如下命令:
|
# cd /home/test/zookeeper-3.4.9/data # vim myid # echo 1 > myid |
5) 将完整的/home/test/zookeeper-3.4.9/复制到另一机器节点,在本示例中为172.16.3.119,然后增加myid文件,执行如下命令:
|
# scp -r /home/test/zookeeper-3.4.9/ root@172.16.3.119: /home/test/ # ssh 172.16.3.119 # cd /home/test/zookeeper-3.4.9/data # vim myid # echo 2 > myid |
6) 分别在所有节点启动zookeeper服务,执行如下命令:
|
# cd /home/test/zookeeper-3.4.9/ # bin/sh zkServer.sh start |
3.4 安装kafka 服务
将安装包解压到指定目录,如172.16.3.19的/home/test/kafka_2.11-0.10.2.1目录。
修改Kafka配置文件,执行如下命令:
|
# cd /home/test/kafka_2.11-0.10.2.1 # vi config/server.properties |
修改或增加如下( 红色字体)配置项:
|
#设置kafka节点id broker.id=1 #设置kafka所在节点ip host.name=172.16.3.19 #设置服务端口,可以不修改,默认为9092 port=9092 #设置数据备份数,注意请根据数据完整性的重要性来设置,最大个数不能大于kafka集群节点数 default.replication.factor=1 #设置是否自动创建topic auto.create.topics.enable=true #设置消息体的最大大小,单位为字节, message.max.bytes=629145600 # 设置replicas每次获取数据的最大大小,建议为600M replica.fetch.max.bytes=629145600 #设置kafka数据保存路径 log.dirs=/home/test/kafka_2.11-0.10.2.1/data #设置数据存储的最大时间,可以根据磁盘大小和数据流量设置,默认为168小时 log.retention.hours=168 #设置分区数,如果要求数据顺序性,请务必设置成1 num.partitions=1 #设置zookeeper服务地址 zookeeper.connect=172.16.3.19:2181,172.16.3.119:2181 #设置kafka连接zookeeper超时时间 zookeeper.connection.timeout.ms=6000 |
将/home/test/kafka_2.11-0.10.2.1/目录复制到各个节点,在本示例中为172.16.3.119,执行如下命令:
|
# scp -r /home/test/kafka_2.11-0.10.2.1/ root@172.16.3.119 : /home/test/ |
修改将其他节点的配置文件,将其中的ip修改为该节点对应ip地址,将broker.id修改为该节点对应的broker.id(各kafka节点broker.id不能一样)。
到各个节点启动Kafka服务,执行如下命令:
注意:如果使用Xshell等远程SSH连接工具启动Kafka,则需要使用nohup命令,防止SSH连接断开导致Kafka服务不可用,命令如下:
|
# cd /home/test/kafka_2.11-0.10.2.1/ # nohup bin/kafka-server-start.sh config/server.properties & |
命令执行后,会输出如下内容,按下回车键即可。
|
# nohup: ignoring input and appending output to `nohup.out' 然后 vim nohup.out 查看 kafka的 log日志,如下日志最后出现了以下内容,则表示 kafka服务启动成功, [2018-07-12 10:37:30,357] INFO [Kafka Server 1], started (kafka.server.KafkaServer) |
官网:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980677/viewspace-2773583/ ,如需转载,请注明出处,否则将追究法律责任。