GOLDENGATE BIG DATA FOR KFAKA 配置步骤 -表结构相同

GOLDENGATE BIG DATA FOR KFAKA 配置步骤 -表结构相同

环境:



DB 类型 GOLDENGATE 版本
源端 172.16.49.38 ORACLE 11.2.0.4 ADG OGGCORE_12.2.0.1.0 for 11G
目标端 172.16.49.88/89 KAFKA-2.1.0-1.2.1.0.p0.115 OGG_BigData_12.2.0.1.0
zookeeper 172.16.49.243:2181,172.16.49.244:2181,172.16.49.245:2181

软件安装:
需要软件清单:
GOLDENGATE FOR ORACLE
GOLDENGATE FOR BIG DATA
KAFKA
ZOOKEEPER
软件下载:
GOLDENGATE在ORACLE官方网站下载上述对应软件版本;
KAFKA ZOOKEEPER 使用CDH部署,在cloudera下载;
软件安装:
可参考博客里之前文章。
ORACLE ADG 机器安装 GOLDENGATE FOR ORACLE 11G(参考安装手册,步骤省略)
KAFKA机器安装GOLDENGATE FOR BIGDATA 12 (参考安装手册,步骤省略)
Zookeeper Kafka 连接信息:
KAFKA连接信息: bootstrap.servers=172.16.49.88:9092,172.16.49.89:9092
ZOOKEEPER :172.16.49.243:2181,172.16.49.244:2181,172.16.49.245:2181
注意JAVA版本 >=1.7, 设置JAVA_HOME 环境变量
OGGHOME 设置为 /goldengate/gg12c

配置:

目标端准备:
将 /goldengate/gg12c/AdapterExamples/big-data/kafka下 custom_kafka_producer.properties kafka.props 两个文件COPY 到 /goldengate/gg12c/dirprm 目录下。
编辑custom_kafka_producer.properties 添加KAFKA集群连接信息 :
bootstrap.servers=172.16.49.88:9092,172.16.49.89:9092
acks=1
compression.type=gzip
reconnect.backoff.ms=1000
value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
# 100KB per partition
batch.size=102400
linger.ms=10000
编辑kafka.props ,内容如下
gg.handlerlist = kafkahandler
gg.handler.kafkahandler.type = kafka
gg.handler.kafkahandler.KafkaProducerConfigFile=custom_kafka_producer.properties
gg.handler.kafkahandler.format=json --这里采用JSON 格式
gg.handler.kafkahandler.BlockingSend =false
gg.handler.kafkahandler.includeTokens=false
# add by xhl
#Publishing to Multiple Topics BY tablename
gg.handler.kafkahandler.topicPartitioning=table --每个表都创建一个同名 topic
gg.handler.kafkahandler.mode=op --这个必需选择op , 不能选择tx
goldengate.userexit.timestamp=utc
goldengate.userexit.writers=javawriter
javawriter.stats.display=TRUE
javawriter.stats.full=TRUE
gg.log=log4j
gg.log.level=DEBUG --测试阶段可设置为DEBUG ,好查找问题
#gg.log.level=INFO
gg.report.time=30sec
gg.classpath=/goldengate/gg12c/dirprm/:/opt/cloudera/parcels/KAFKA/lib/kafka/libs/*:
javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar
配置manager 进程参数
edit param mgr
PORT 7801
dynamicportlist 7820-7850
添加REPLICAT 进程:
add replicat kafka, exttrail ./dirdat/ka
edit param kafka
REPLICAT kafka
-- Trail file for this example is located in "AdapterExamples/trail" directory
-- Command to add REPLICAT
-- add replicat rkafka, exttrail AdapterExamples/trail/tr
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
TARGETDB LIBFILE libggjava.so SET property=./dirprm/kafka.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP PAYADM.KAFKATEST, TARGET PAYADM.KAFKATEST;
源端准备:
添加extract、 pump进程,操作同OGG FOR ORACLE ,这里是从ACTIVE DATAGUARD抽取数据,所以EXTRACT 进程param 文件中要添加 TRANLOGOPTIONS MINEFROMACTIVEDG
extract、 pump进程param 内容如下:
view param ext01
EXTRACT ext01
setenv ( NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" )
setenv ( ORACLE_SID=uatracdg )
userid goldengate, password golden123
exttrail ./dirdat/et
gettruncates
--dynamicresolution
discardfile ./dirrpt/discardext01.txt, append, megabytes 50
--DBOPTIONS ALLOWUNUSEDCOLUMN
--TRANLOGOPTIONS CONVERTUCS2CLOBS
EOFDELAY 3
getupdatebefores
TRANLOGOPTIONS MINEFROMACTIVEDG --FOR ADG
table payadm.kafkatest;
PUMP进程:
view param kafka
extract kafka
setenv ( NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" )
userid goldengate password golden123
rmthost 172.16.49.88, mgrport 7801, TCPBUFSIZE 5000000
rmttrail ./dirdat/ka
DYNAMICRESOLUTION
NUMFILES 3000
ALLOCFILES 200
table payadm.kafkatest;
为PAYADM.KAFKATEST表添加TRANDATA,注意这个虽然在ADG库的GOLDENGATE 操作,但在DBLOGIN时需要登陆ADG 的主库
源端:
启动 EXTRACT PUMP
ggsci > start ext01
ggsci > start kafka
目标端:
ggsci > start mgr
ggsci > alter kafka, begin now
ggsci > start kafka
配置完成。

测试:

在源端主库:
insert into payadm.kafkatest values (20,'x');
insert into payadm.kafkatest values (21,'x');
insert into payadm.kafkatest values (22,'x');
insert into payadm.kafkatest values (23,'x');
commit;
到目标查看:
PAYADM.KAFKATEST topic 是否自动创建:
kafka-topics --list --zookeeper 172.16.49.243:2181,172.16.49.244:2181,172.16.49.245:2181/kafka --topic
查看数据是否同步成功:
kafka-console-consumer -zookeeper 172.16.49.245:2181/kafka -topic PAYADM.KAFKATEST -from-beginning

查看 PAYADM.KAFKATEST topic
kafka-topics --describe --zookeeper 172.16.49.245:2181/kafka --topic PAYADM.KAFKATEST

上面测试的是表结构完全一致同步,后续介绍异构表同步的方法,这里需要用到 Metadata Provider。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/308563/viewspace-2136482/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/308563/viewspace-2136482/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Oracle GoldenGate中实现Oracle到Oracle的数据同步,需要按照以下步骤配置: 1. 创建OGG用户和OGG数据目录 首先需要创建OGG用户和OGG数据目录,可以使用以下SQL语句创建OGG用户,并授予必要的权限: ``` CREATE USER ogg IDENTIFIED BY ogg; GRANT DBA TO ogg; ``` 然后创建OGG数据目录: ``` mkdir /u01/app/ogg ``` 2. 下载并安装Oracle GoldenGate软件 从Oracle官网下载相应版本的Oracle GoldenGate软件,然后解压缩到指定目录。假设解压缩到目录/opt/ogg19c。 3. 配置OGG参数文件 在/opt/ogg19c下创建一个名为dirprm的目录,并在该目录下创建OGG的参数文件。参数文件主要包括OGG的连接信息、数据源信息、数据目标信息等。以下是一个简单的参数文件示例: ``` GGSCI> edit params ggs.prm extract ggs userid ogg, password ogg rmthost 192.168.1.100, mgrport 7809 rmttrail /u01/app/ogg/dirdat/lt table source_schema.source_table; replicat ggr userid ogg, password ogg assumetargetdefs map source_schema.source_table, target_schema.target_table; ``` 其中,source_schema.source_table是源名,target_schema.target_table是目标名。 4. 配置OGG进程文件 在/opt/ogg19c下创建一个名为dirrpt的目录,并在该目录下创建OGG的进程文件。进程文件主要包括OGG的抽取进程、传输进程、应用进程等信息。以下是一个简单的进程文件示例: ``` GGSCI> edit params mgr.prm port 7809 userid ogg, password ogg ``` 5. 启动OGG管理进程 在/opt/ogg19c下执行以下命令启动OGG管理进程: ``` ./ggsci GGSCI> start mgr ``` 6. 启动OGG抽取进程和应用进程 在/opt/ogg19c下执行以下命令启动OGG抽取进程和应用进程: ``` ./ggsci GGSCI> start extract ggs GGSCI> start replicat ggr ``` 7. 监控OGG进程状态 在/opt/ogg19c下执行以下命令可以查看OGG进程状态: ``` ./ggsci GGSCI> info all ``` 以上就是Oracle GoldenGate配置Oracle到Oracle的数据同步的基本步骤。需要根据具体的数据源和数据目标情况进行相应的参数配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值