Mysql同步到Greenplum

stephenjwq發表於2018-12-12

一、資源資訊

這邊就不贅述

二、配置相關資料來源、目標資料來源和java環境
mysql資料來源
1、資料庫,create database testdb1;
2、使用者許可權,需要擁有select許可權和binlog拉取許可權,此處使用root許可權
3、同步的表(切換到syncdb1資料庫),create table tb1(a int, b char(10), primary key(a));

pgsql目的資料庫
1、使用者,create user testdb with password 'testdb';
2、資料庫,create database testdb with owner 'testdb';
3、同步的表(使用testdb使用者切換到testdb資料庫),create table tb1(a int, b char(10), primary key(a));

java環境的安裝
1、下載二進位制安裝包:jdk-8u101-linux-x64.tar.gz
2、解壓二進位制包並做軟連結:tar xf jdk-8u101-linux-x64.tar.gz && ln -s /data/jdk1.8.0_101 /usr/java
3、配置路徑和java環境變數:vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
4、source生效:source  /etc/profile.d/java.sh
5、安裝jsvc,yum install jsvc

三、kafka的安裝和啟動配置
1、下載地址:
2、kafka官方文件:
3、解壓縮:tar xf kafka_2.11-2.0.0.tgz && cd kafka_2.11-2.0.0
4、ZooKeeper
啟動,bin/zookeeper-server-start.sh config/zookeeper.properties
關閉,bin/zookeeper-server-stop.sh config/zookeeper.properties
5、Kafka server
啟動,bin/kafka-server-start.sh config/server.properties
啟動,bin/kafka-server-stop.sh config/server.properties
6、Topic
建立,bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic green
查詢,bin/kafka-topics.sh --list --zookeeper localhost:2181
刪除,bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic green
7、Producer(不是本實驗必須的,作為學習使用)
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic green
>aaa
>123
>
8、Consumer(不是本實驗必須的,作為學習使用)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic green --from-beginning
aaa
123

四、maxwell的安裝和啟動配置
1、下載地址:
2、maxwell官方文件:
3、解壓縮:tar xf maxwell-1.17.1.tar.gz && cd maxwell-1.17.1
4、修改配置檔案,cp config.properties.example config.properties && vim config.properties
log_level=info

# kafka info
producer=kafka
kafka.bootstrap.servers=localhost:9092
kafka_topic=green
ddl_kafka_topic=green

# mysql login info
host=xx.xx.xx.xx
port=3306
user=root
password=123456
5、啟動maxwell,bin/maxwell --config config.properties
6、maxwell預設在源資料庫生成庫maxwell記錄相關資訊

五、bireme的安裝和啟動配置
1、下載地址:
2、bireme官方文件:
3、解壓縮:tar xf bireme-1.0.0.tar.gz && cd bireme-1.0.0
4、修改配置檔案,vim etc/config.properties
# target database where the data will sync into.
target.url = jdbc:postgresql://xxx.xxx.xxx.xxx:5432/testdb
target.user = testdb
target.passwd = testdb

# data source name list, separated by comma.
data_source = maxwell1

# data source "mysql1" type
maxwell1.type = maxwell
# kafka server which maxwell write binlog into.
maxwell1.kafka.server = 127.0.0.1:9092
# kafka topic which maxwell write binlog into.
maxwell1.kafka.topic = green
# kafka groupid used for consumer.
maxwell1.kafka.groupid = bireme

# set the IP address for bireme state server.
state.server.addr = 0.0.0.0
# set the port for bireme state server.
state.server.port = 8080
5、修改配置檔案,vim etc/maxwell1.properties(表對映配置)
note:maxwell1.properties的maxwell1一定要和bireme的data_source保持一致
testdb1.tb1 = public.tb1
testdb2.tb1 = public.tb1
6、啟動bireme,bin/bireme start
 
六、測試
1、mysql資料來源
insert into tb1 select 1,'a';
insert into tb1 select 2,'b';
2、pgsql目標資料庫
testdb=# select * from tb1;
 a |     b     
---+------------
 1 | a        
 2 | b        
(2 rows)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9522838/viewspace-2284966/,如需轉載,請註明出處,否則將追究法律責任。

相關文章