开工了,继续我们的GoldenGate探索之旅!!!
大数据Hadoop已经非常的流行了,业界也有很多方案可以为大数据平台加载数据,比如Sqoop等,Oracle也有自己的实时大数据加载解决方案,它是谁呢,就是我们前面多次介绍说明的GoldenGate产品,Oracle GoldenGate针对现在主流的大数据平台Hadoop系列的产品,也提供了相应的实时数据加载的解决方案。
我们可以使用GoldenGate把关系数据库的实时数据变化同步到Hdfs、Hbase、Flume、Kafka、MongoDB、Cassandra中,这样我们就可以利用GoldenGate设计更灵活的数据加载同步解决方案。同时GoldenGate的配置简单明了,用户可以非常快速的上手和体验。
本文将为大家演示数据同步到Hdfs的配置过程,我们假设GoldenGate已经完成源端关系数据库的数增量数据捕获并把这些变化通过TCP/IP网络传输到了目标端Hadoop服务器节点的GoldenGate的远程队列目录中,重点给大家演示Hadoop服务器节点上GoldenGate的配置。
安装、配置过程如下:
1、下载GoldenGate for bigdata的软件包;
2、把软件包上传到Hadoop服务器节点,并解压缩;
3、开始配置GoldenGate,进入GoldenGate的安装目录,执行./ggsci, 进入GoldenGate的配置界面,添加GoldenGate的数据投递进程,把队列中的数据加载到Hdfs,完成这个操作总共需要4个步骤
1)、添加GoldenGate数据投递进程
add replicat rhdfs, exttrail dirdat/hd,nodbcheckpoint
2)、建立进程的参数,建立针对hdfs进行解析的参数文件,这 2个文件都在GoldenGate安装目录的dirprm目录中
投递进程参数文件(rhdfs.prm)
replicat rhdfstargetdb libfile libggjava.so set property=dirprm/rhadp.propertiesgrouptransops 1000reportcount every 10 minutes, ratereportrollover at 00:01report at 00:01statoptions resetreportstats
map pdb1.source.*, target pdb1.source.*;
hdfs解析器的参数文件(rhadp.properities)
## rhadp.properties for HDFS/Hive
gg.handlerlist=hdfs
gg.handler.hdfs.type=hdfs
gg.handler.name.rootFilePath=/ogg ---Goldengate同步数据的存储目录
gg.handler.hdfs.format=delimitedtext
gg.handler.hdfs.format.pkUpdateHandling=update
gg.handler.hdfs.mode=tx
goldengate.userexit.timestamp=utc
goldengate.userexit.writers=javawriter
javawriter.stats.display=TRUE
javawriter.stats.full=TRUE
gg.log=log4j
gg.log.level=debug
gg.report.time=30sec
gg.classpath=.:/usr/hdp/current/hadoop-client/client/*:/etc/hadoop/conf
javawriter.bootoptions=-Xmx512m -Xms32m-Djava.class.path=ggjava/ggjava.jar/etc/Hadoop:
4)、启动数据投递进程
GGSCI>start rhdfs
GGSCI>info all

是不是很简单,GoldenGate配置好了。
4、我们验证一下GoldenGate同步数据的结果
我们看到在/ogg目录下建立新的子目录pdb1.source.emp,我们发现GoldenGate会为每个数据表建立一个按照表名命名的目录,真正的数据就存储在这个目录下。

我们再来看看里面的数据内容

我们看到所有GoldenGate队列中存储的数据都被加载到了Hadoop平台的HDFS中。我们为了演示使用的默认的数据输出格式,在正式环境中客户可以根据需要对输出内容进行定制以满足不同类型的需要。
是不是很EASY!心动不,还不赶快去试试,也许你有新的发现!!!!




