OGG的Oracle与Hadoop集群准实时同步详解(4)

在OGG主目录下执行:
./defgen paramfile dirprm/tcloud.prm
完成之后会生成这样的文件/u01/gg/dirdef/tcloud.t_ogg,将这个文件拷贝到目标端的OGG主目录下的dirdef目录即可。

目标端的配置 创建目标表(目录)

这里主要是当目标端为HDFS目录或者Hive表或者MySQL数据库时需要手动先在目标端创建好目录或者表,创建方法都类似,这里我们模拟实时传入到HDFS目录,故手动创建一个接收目录即可
hadoop –fs mkdir /gg/replication/hive/

配置管理器mgr

目标端的OGG管理器(mgr)和源端的配置类似,在OGG命令行下执行:

GGSCI (10.0.0.2) 2> edit params mgr PORT 7809 DYNAMICPORTLIST 7810-7909 AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3 PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3 配置checkpoint

checkpoint即复制可追溯的一个偏移量记录,在全局配置里添加checkpoint表即可

GGSCI (10.0.0.2) 5> edit params ./GLOBALS CHECKPOINTTABLE tcloud.checkpoint

保存即可

配置replicate进程

在OGG的命令行下执行:

GGSCI (10.0.0.2) 8> edit params r2hdfs REPLICAT r2hdfs sourcedefs /data/gg/dirdef/tcloud.t_ogg TARGETDB LIBFILE libggjava.so SET property=dirprm/hdfs.props REPORTCOUNT EVERY 1 MINUTES, RATE GROUPTRANSOPS 10000 MAP tcloud.t_ogg, TARGET tcloud.t_ogg;

说明:REPLICATE r2hdfs定义rep进程名称;sourcedefs即在3.6中在源服务器上做的表映射文件;TARGETDB LIBFILE即定义HDFS一些适配性的库文件以及配置文件,配置文件位于OGG主目录下的dirprm/hdfs.props;REPORTCOUNT即复制任务的报告生成频率;GROUPTRANSOPS为以事务传输时,事务合并的单位,减少IO操作;MAP即源端与目标端的映射关系
其中property=dirprm/hdfs.props的配置中,最主要的几项配置及注释如下:

gg.handlerlist=hdfs //OGG for Big Data中handle类型 gg.handler.hdfs.type=hdfs //OGG for Big Data中HDFS目标 gg.handler.hdfs.rootFilePath=/gg/replication/hive/ //OGG for Big Data中HDFS存储主目录 gg.handler.hdfs.mode=op //OGG for Big Data中传输模式,即op为一次SQL传输一次,tx为一次事务传输一次 gg.handler.hdfs.includeTokens=false gg.handler.hdfs.maxFileSize=1g gg.handler.hdfs.fileRollInterval=0 gg.handler.hdfs.inactivityRollInterval=0 gg.handler.hdfs.fileSuffix=.txt gg.handler.hdfs.partitionByTable=true gg.handler.hdfs.rollOnMetadataChange=true gg.handler.hdfs.authType=none goldengate.userexit.writers=javawriter javawriter.stats.display=true javawriter.stat.full=true  gg.handler.hdfs.format=delimitedtext //OGG for Big Data中文件传输格式 #()gg.classpath=/usr/hdp/2.2.0.0-2041/hadoop/share/hadoop/common/*:/usr/hdp/2.2.0.0-2041/hadoop/share/hadoop/common/lib/*:/usr/hdp/2.2.0.0-2041/hadoop/share/hadoop/hdfs/*:/usr/hdp/2.2.0.0-2041/hadoop/etc/hadoop/:/data/gg/:/data/gg/lib/*:/usr/hdp/2.2.0.0-2041/hadoop/client/* gg.classpath=/opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.p0.45/lib/hadoop/*:/opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.p0.45/lib/hadoop/lib/*:/opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.p0.45/lib/hadoop-hdfs/*:/opt/cloudera/parcels/CDH-5.7.0-1/cdh5.7.0.p0.45/lib/hadoop/etc/hadoop/:/opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.po.45/lib/hadoop/lib/native:/usr/local/ogg/:/usr/local/ogg/lib/*:/etc/hadoop/conf javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar   ###Big Data中使用到的HDFS库的定义

具体的OGG for Big Data支持参数以及定义可参考

最后在OGG的命令行下执行:

GGSCI (10.0.0.2) 9> add replicat r2hdfs exttrail /data/gg/dirdat/tc,checkpointtable tcloud.checkpointtab REPLICAT added.

将文件与复制进程绑定即可

测试 启动进程

在源端和目标端的OGG命令行下使用start [进程名]的形式启动所有进程。
启动顺序按照源mgr——目标mgr——源extract——源pump——目标replicate来完成。

检查进程状态

以上启动完成之后,可在源端与目标端的OGG命令行下使用info [进程名]来查看所有进程状态,如下:
源端:

GGSCI (VM_0_25_centos) 7> info mgr Manager is running (IP port VM_0_25_centos.7809). GGSCI (VM_0_25_centos) 9> info ext2hd EXTRACT EXT2HD Last Started 2016-11-09 16:05 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:09 ago) Log Read Checkpoint Oracle Redo Logs 2016-11-09 16:45:51 Seqno 8, RBA 132864000 SCN 0.1452333 (1452333) GGSCI (VM_0_25_centos) 10> info push2hd EXTRACT PUSH2HD Last Started 2016-11-09 16:05 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:01 ago) Log Read Checkpoint File /u01/gg/dirdat/tc000000 First Record RBA 1043

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bc98451e7b8445713e4c0f3fb135cf3e.html