文档章节

OGG TO HDFS,及Kerberose验证方法

boydreaming
 boydreaming
发布于 2016/10/21 17:12
字数 1158
阅读 369
收藏 0

一、准备工作

     1、源端ORACLE RDBMS 12c,及Oracle GoldenGate 12c for Oracle。安装需要有图形界面,需要准备好VNC或其他。

     2、目的端Oracle GoldenGate 12 for Big Data 12 ,HADOOP 2.6

二、安装步骤。

     1、源端ORACLE数据库安装及GoldenGate安装都要用到./runInstaller。ORACLE安装忽略, 本文安装在/data1/oracle/。OGG FOR ORACLE安装在/data/oracle/oggora。

     2、源端 ORACLE需要做的配置。

$sqlplus / as sysdba

SQL>SELECT log_mode FROM v$database;

看看是否是归档模式,若不是要做如下操作。

SQL> alter database mount;

Database altered.

SQL> alter database archivelog;

Database altered.

SQL> alter database open;

SQL> alter database add supplemental log data;

Database altered.

SQL> alter database force logging;

Database altered.

SQL>SELECT log_mode FROM v$database;

LOG_MODE

------------

ARCHIVELOG

开启ORACLE中相关OGG的参数

SQL> alter system set enable_goldengate_replication=true sid='*' scope=both;

System altered.

创建ogg表空间,用户,并赋予DBA权值,不然,后面可能无法执行

SQL> CREATE TABLESPACE OGG DATAFILE '/data1/oracle/app/oracle/oradata/orcl/ogg.dbf' size 10M autoextend on;

SQL> create user ogg identified by ogg default tablespace ogg temporary tablespace temp;

SQL> EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('OGGUSER');   

SQL> grant connect, dba to ogg;

Grant succeeded.

3、源端GOLDENGATE要做配置

     安装后OGG FOR ORACLE后,默认已经create subdirs了,并且已经配置启动mgr。

    运行    oggora$./ggsci进行入ogg命令行

GGSCI (TEST-BDD-0571>edit params mgr

PORT 7809

userid ogg,password ogg

purgeoldextracts /data1/oracle/oggora/*,usecheckpoints

accessrule,prog server,allow

重启MGR

GGSCI (TEST-BDD-0573>  stop mgr

Manager process is required by other GGS processes.

Are you sure you want to stop it (y/n)?y

Sending STOP request to MANAGER ...

Request processed.

Manager stopped.

GGSCI (TEST-BDD-0574> start mgr                                                       

Manager started.

GGSCI (TEST-BDD-0575> info mgr detail 

Manager is running (IP port host01.example.com.7809, Process ID 52948).

GGSCI (TEST-BDD-0576>

4、需要配置目标端MGR,才能回过来进行源端的EXTRACT的下一步操作。因此,开始安装目标端的OGG FOR BIGDATA。

$mkdir ogg

$tar xvpf ../ggs_Adapters_Linux_x64.tar

$./ggsci

GGSCI (NM-ITC-NF8460M3-303-0161> create subdirs

GGSCI (NM-ITC-NF8460M3-303-0162> edit params mgr

PORT 17809

DYNAMICPORTLIST 17810-17820

AUTORESTART REPLICAT *, RETRIES 5, WAITMINUTES 3, RESETMINUTES 60

PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 1

LAGREPORTHOURS 1

LAGINFOMINUTES 30

GGSCI (NM-ITC-NF8460M3-303-0163> start manager

Manager started.

 5、回到源端进行初始化EXTRACT,并在目标端生成文件。

$vi dirprm/ini_ext.prm

SOURCEISTABLE

userid ogg,password ogg

RMTHOST 10.142.78.36, MGRPORT 17809

RMTFILE /usr/bdusr01/ogg/dirdat/initld,megabytes 2,purge

table ggtest.*;

-bash-4.1$  ./extract paramfile dirprm/ini_ext.prm reportfile dirrpt/ini_ext.rpt

6、切到目标端,查看是否生成文件

[bdusr01@NM-ITC-NF8460M3-303-016 ogg]$ ls dirdat

initld

7、在源端配置extract。

$./ggsci

Oracle GoldenGate Command Interpreter for Oracle

Version 12.2.0.1.1 OGGCORE_12.2.0.1.0_PLATFORMS_151211.1401_FBO

Linux, x64, 64bit (optimized), Oracle 12c on Dec 12 2015 02:56:48

Operating system character set identified as UTF-8.

Copyright (C) 19952015, Oracle and/or its affiliates. All rights reserved.

GGSCI (TEST-BDD-0571> edit params ggext

extract ggext

userid ogg,password ogg

--RMTHOSTOPTIONS

RMTHOST sandbox, MGRPORT 7839

RMTFILE  /usr/bdusr01/ogg/dirdat/or, MEGABYTES 2, PURGE

DDL include objname ogg.*

TABLE ogg.*;

 

GGSCI (TEST-BDD-0572> dblogin userid ogg,password ogg

Successfully logged into database.

GGSCI (TEST-BDD-0573> register extract GGEXT database

2016-10-20 15:37:21  INFO    OGG-02003  Extract GGEXT successfully registered with database at SCN 17151616.

GGSCI (TEST-BDD-0574> add extract ggext, INTEGRATED TRANLOG, BEGIN NOW

EXTRACT (Integrated) added.

8、在目标端,编辑hdfs.props。

[bdusr01@NM-ITC-NF8460M3-303-016 ogg]$ vi dirprm/hdfs.props

gg.handlerlist=hdfs

gg.handler.hdfs.type=hdfs

gg.handler.hdfs.includeTokens=true

gg.handler.hdfs.maxFileSize=256m

gg.handler.hdfs.rootFilePath=/data/hjpt/test/jl

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

gg.handler.hdfs.authType=kerberos

gg.handler.hdfs.kerberosKeytabFile=/usr/bdusr01/bdusr01.keytab

gg.handler.hdfs.kerberosPrincipal=krbtgt/HADOOP.CHINATELECOM.CN@HADOOP.CHINATELECOM.CN

gg.handler.hdfs.format=delimitedtext

gg.handler.hdfs.format.includeColumnNames=false

gg.handler.hdfs.mode=tx

gg.handler.hdfs.format.includeOpTimestamp=true

gg.handler.hdfs.format.includeCurrentTimestamp=true

gg.handler.hdfs.format.insertOpKey=I

gg.handler.hdfs.format.updateOpKey=U

gg.handler.hdfs.format.deleteOpKey=D

gg.handler.hdfs.format.truncateOpKey=T

gg.handler.hdfs.format.encoding=UTF-8

gg.handler.hdfs.format.fieldDelimiter=CDATA[\u0001]

#gg.handler.hdfs.format.fieldDelimiter='|'

gg.handler.hdfs.format.lineDelimiter=CDATA[\n]

gg.handler.hdfs.format.includeTableName=true

gg.handler.hdfs.format.keyValueDelimiter=CDATA[=]

#gg.handler.hdfs.format.kevValuePairDelimiter=CDATA[,]

gg.handler.hdfs.format.pkUpdateHandling=update

gg.handler.hdfs.format.nullValueRepresentation=

gg.handler.hdfs.format.missingValueRepresentation=CDATA[]

gg.handler.hdfs.format.includePosition=false

goldengate.userexit.timestamp=utc

goldengate.userexit.writers=javawriter

javawriter.stats.display=TRUE

javawriter.stats.full=TRUE

gg.log=log4j

gg.log.level=INFO

gg.report.time=30sec

gg.classpath=/etc/hadoop/conf.empty:/usr/lib/hadoop/*:/usr/lib/hadoop-hdfs/lib/*:/usr/lib/hadoop-hdfs/*:/usr/lib/hadoop/lib/*

javawriter.bootoptions=-Xmx8200m –Xms8192m -Djava.class.path=ggjava/ggjava.jar

9、在目标端配置JAVA_HOME,LD_LIBRARY_PATH,必需要JAVA 1.7,不然后面运行可能出错。

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64

export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/amd64:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/amd64/server:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/amd64/libjsig.so:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/amd64/server/libjvm.so

10、在目标端初始化hdfs

[bdusr01@NM-ITC-NF8460M3-303-016 ogg]$./replicat paramfile dirprm/irhdfs.prm reportfile dirrpt/ini_rhdfs.rpt

[bdusr01@NM-ITC-NF8460M3-303-016 ogg]$ hadoop dfs -ls /data/hjpt/test/jl

Found 2 items

...

10、在源端启动extract

GGSCI (TEST-BDD-0576>start extract ggext

Sending START request to MANAGER ...

EXTRACT GGEXT starting

11、在目标端配置REPLICAT。

[bdusr01@NM-ITC-NF8460M3-303-016 ogg]$ vi dirprm/rhdfs.prm

REPLICAT rhdfs

setenv HADOOP_COMMON_LIB_NATIVE_DIR=/usr/lib/hadoop/lib/native

DDL include all

TARGETDB LIBFILE libggjava.so SET property=dirprm/hdfs.props

REPORTCOUNT EVERY 1 MINUTES, RATE

GROUPTRANSOPS 10000

MAP ogg.*, TARGET bdtest.*;

[bdusr01@NM-ITC-NF8460M3-303-016 ogg]$./ggsci

GGSCI (NM-ITC-NF8460M3-303-0161> add replicat rhdfs, exttrail dirdat/or

REPLICAT added.

GGSCI (NM-ITC-NF8460M3-303-0162> start replicat rhdfs

Sending START request to MANAGER ...

REPLICAT RHDFS starting

GGSCI (NM-ITC-NF8460M3-303-0163>

12、目标端HIVE建表

hive> CREATE EXTERNAL TABLE BDTEST.TEST_TAB_1  (tran_flag string, tab_name string, tran_time_utc timestamp, tran_time_loc string,something string, something1 string,

    > PK_ID INT, RND_STR VARCHAR(10),USE_DATE string,RND_STR_1 string, ACC_DATE string)

    > stored as textfile location '/data/hjpt/test/jl';

OK

Time taken: 0.327 seconds

hive> select * from BDTEST.TEST_TAB_1;

...

13、在源端插入数据,再到目标端查看变化,即可。

 

参考文档:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/goldengate/12c/OGG12c_Integrated_Replicat/index.html

http://www.tuicool.com/articles/IzqAZnI

© 著作权归作者所有

boydreaming
粉丝 3
博文 68
码字总数 17343
作品 0
普陀
程序员
私信 提问
基于OGG的Oracle与Hadoop集群准实时同步介绍

版权声明:本文由王亮原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/220 来源:腾云阁 https://www.qcloud.com/community Oracle里存储的结构化数据导...

偶素浅小浅
2016/11/16
72
1
html 的一些 标签

HTML 5 <section> 标签 定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。 <section> hello world!</section> <video> 标签 <video> 是 HTML 5 中的新标签。 <vid......

@ccny
2016/01/04
49
0
oracle goldengate报错解决之OGG-00446、OGG-00529、OGG-00014

OGG测试:无法启动ext进程,报错OGG-00446 报错日志【截取重要部分】 2016-10-28 16:51:40 ERROR OGG-00446 Missing filename opening checkpoint file.2016-10-28 16:51:40 ERROR OGG-01668......

diamondlich
2016/11/08
0
0
利用ogg实现oracle到kafka的增量数据实时同步

转载请务必注明原创地址为:https://dongkelun.com/2018/05/23/oggOracle2Kafka/ 前言 ogg即Oracle GoldenGate是Oracle的同步工具,本文讲如何配置ogg以实现Oracle数据库增量数据实时同步到k...

dkl12
2018/05/25
0
0
网线直连无法Ping通

服务器A:IP 10.10.5.211 掩码255.255.252.0 主机B:IP 10.10.5.111 掩码255.255.252.0 B无法ping通 A 然后 B arp -a ARP缓存表 也没有发现A的mac 想要SSH 上A,弄些一些数据出来。。。密码没...

Aruforce
2018/07/03
472
1

没有更多内容

加载失败,请刷新页面

加载更多

技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4

作者:胡呈清 整理 MySQL 8.0 文档时发现一个变更:默认字符集由 latin1 变为 utf8mb4。想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。...

爱可生
31分钟前
5
0
不管单机还是集群的限流实现已经给你准备好了

限流算法 计数器算法 维护一个counter,规定在单位时间内counter的大小不能超过最大值,每隔固定时间就将counter的值置零。如果这个counter大于设定的阈值,那么系统就拒绝请求 漏桶算法 维护...

阿提说说
42分钟前
4
0
文件管理

通过CLI登录进行文件管理 .表示当前目录,..表示父目录,具有隐藏文件。支持缩写与TAB键补全 1、目录操作 pwd#打印工作目录 cd <directory>#改变工作目录 dir [/all][<directory>]#查看目录内...

悠悠子佩
44分钟前
4
0
Netty学习笔记(10)——Netty中的Channel组件

1. Channel的功能 1. 与NIO中的Channel一样,它实现了网络操作的抽象类,聚合了一系列的网络IO功能,包括读写数据、建立连接、关闭连接等功能。通过外观模式,将数据读写、连接建立与断开等操...

江左煤郎
48分钟前
3
0
二叉树的深度

从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 public int TreeDepth(TreeNode root) { return root == null ? 0 : 1 + Math.max(Tree...

Garphy
56分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部