OGG FOR BIGDATA 安装(修正)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了OGG FOR BIGDATA 安装(修正),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含10870字,纯文字阅读大概需要16分钟。
内容图文
参考:http://docs.oracle.com/goldengate/bd1221/gg-bd/GADBD/toc.htm
一、环境介绍
二、配置源端数据库
create user ggmgr identified by ggmgr defaulttablespace DATA_OL;
grant connect,resource,unlimited tablespace to ggmgr;
- grant execute on utl_file to ggmgr;
grant select any dictionary,select any table to ggmgr;
grant alter any table to ggmgr;
grant flashback any table to ggmgr;
grant execute on DBMS_FLASHBACK to ggmgr;
GRANT execute on DBMS_CAPTURE_ADM to ggmgr ;
1.2 开启附加日志
1.2.1 日志简介
-
数据库级别:包括最小(Minimal)、支持所有字段(all)、支持主键(primary key)、支持唯一键(unique)、支持外键(foreign key)。
要
使用OGG,至
少
要开启最小级别。是用户级别附加日志和表级别附加日志的基础。
-
用户级别:使用OGG DDL抽取功能时需要开启.
- 表级别 :必须开启表级别附加日志,除非启用了用户级别附加日志。
1.2.2 开启附件日志
SQL> SELECT supplemental_log_data_min, force_logging FROM v$database;
SUPPLEMENTAL_LOG_DATA_MIN FORCE_LOGGING
------------------------- -------------
YES NO
alter database add supplemental log data;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;
ALTER DATABASE FORCE LOGGING;
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE = BOTH ;
三、配置抽取端OGG
3.1 设置环境变量
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$LD_LIBRARY_PATH
setenv(NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV(ORACLE_HOME = "/u01/app/oracle/product/11.2.0.4/dbhome_1")
SETENV(ORACLE_SID = "orcl")
3.2 安装OGG
使用OUI安装OGG或下载安装包解压到/u01/ogg.
1)用OUI安装OGG
用ORACLE用户执行runInstaller即可
2)用OUI静默安装
在解压目录下找到response/oggcore.rsp,修改:
-
#如果机器上已经安装了ORACLE,则只添加以下几行即可.如果没有安装ORACLE,请先安装ORACLE或者ORACEL LIENT
-
INSTALL_OPTION
=
11g
-
SOFTWARE_LOCATION=/opt/ogg
-
UNIX_GROUP_NAME
=
oinstall
然后执行
-
./
runInstaller
-
silent
-
nowait
-
responseFile
/
opt
/
ogg
/
fbo_ggs_Linux_x64_shiphome
/
Disk1
/
response
/
oggcore
.
rsp
- #如果机器上已经安装了ORACLE,则只添加以下几行即可.如果没有安装ORACLE,请先安装ORACLE或者ORACEL LIENT
INSTALL_OPTION = 11g
SOFTWARE_LOCATION=/opt/ogg
UNIX_GROUP_NAME = oinstall
./ runInstaller - silent - nowait - responseFile / opt / ogg / fbo_ggs_Linux_x64_shiphome / Disk1 / response / oggcore . rsp
3.2 创建子目录
GGSCI (OGGTEST) 1> create subdirs
3.3 添加表级别附加日志
GGSCI (OGGTEST) 2>dblogin userid ggmgr,password ggmgr
Successfully logged intodatabase.
GGSCI (OGGTEST) 3> add trandata scott.dept
Logging of supplemental redo dataenabled for table SCOTT.DEPT.
GGSCI (OGGTEST) 3> add trandata scott.bouns,cols(ename),nokey
3.4 配置mgr进程
GGSCI(OGGTEST) 1> edit param mgr
PORT 7839
DYNAMICPORTLIST 7840-7939
--AUTOSTART ER *
AUTORESTART EXTRACT *,RETRIES5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
3.5 配置抽取进程
GGSCI(OGGTEST) 12> add extract e_m157,tranlog,begin now #指定从log抽取,抽取时间是noe
EXTRACTadded.
GGSCI(OGGTEST) 14> add exttrail ./dirdat/em,extract e_m157,megabytes 50 #添加trail文件,
Megabytes:指定队列大小,本处设置表示50M。
- GGSCI(OGGTEST) 14> edit param e_m157
extract
e_m157SETENV(ORACLE_S)
SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
userid ggmgr, password
ggmgrEXTTRAIL /opt/ogg/dirdat/em
table ogg_owner.togg;
TABLE scott.dept;#可以用scott.*
ADD EXTRACT group name {, TRANLOG | , INTEGRATED TRANLOG} {, BEGIN {NOW | yyyy-mm-dd[ hh:mi:[ss[.cccccc]]]} | SCN value} [, THREADS n]
ADD EXTRACT finance, TRANLOG, BEGIN 2011-01-01 12:00:00.000000
3.6 配置传输进程
GGSCI(OGGTEST) 2> add extract dpend,exttrailsource ./dirdat/em #添加 传输进程
EXTRACT added.
GGSCI(OGGTEST) 3> add rmttrail /opt/ogg/dirdat/em, EXTRACT DPEND #添加远程trail文件,即目标机tail文件位置
RMTTRAIL added.
GGSCI(OGGTEST) 4> edit params dpend #编辑传输进程配置文件
EXTRACT dpend
SETENV(NLS_LANG = "AMERICAN_AMERICA.UTF8")
USERID ggmgr, PASSWORD ggmgr
PASSTHRU
RMTHOST 10.81.2.108, MGRPORT 7839, compress
RMTTRAIL
/opt/ogg/dirdat/emTABLE Scott.dept
3.7 创建定义文件
3.7.1 创建定义文件参数
[oracle@OGGTEST ogg]$ vi /opt/ogg/dirdef/scott.def.prm
defsfile ./dirdef/scott.def , purge
userid ggmgr,password ggmgr
table scott.*;
3.7.2 创建定义文件
./defgen PARAMFILE /opt/ogg/dirdef/scott.def.prm
四、配置目标端OGG
4.1 安装ogg for bigdata
4.1.1 安装ogg for bigdata
-
ggsci
>
create subdirs
4.1.2 设置环境变量
ggsci > create subdirs
export LD_LIBRARY_PATH=/usr/java/jdk1.8.0_60/jre/lib/amd64/server/
4.2 配置mgr进程
4.2.1 编辑mgr进程参数
GGSCI(OGGTEST) 1> edit param mgr
port
7839dynamicportlist 7809-7909
lagreportminutes 10
laginfoseconds 1
purgeoldextracts ./dirdat/*, usecheckpoints, minkeephours 192
4.2.2 启动mgr
ggsci > start mgr
4.3 配置HDFS handler
cp / opt / ogg / AdapterExamples / big - data / hdfs /* /opt/ogg/dirprm
4.3.1 配置hdfs handler
[root@BFHT5 ogg]# vi dirprm/hdfs.props
gg.handlerlist=hdfs --handler名称
gg.handler.hdfs.type=hdfs --handler的类型
#gg.handler.hdfs.includeTokens=true
gg.handler.hdfs.maxFileSize=1g
gg.handler.hdfs.rootFilePath=/user/oracle/gg --HDFS上的存储目录
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.format=delimitedtext --hdfs文件类型
gg.handler.hdfs.format.includeColumnNames=true --包括列名
gg.handler.hdfs.format.fieldDelimiter=CDATA[|] --字段分隔符
gg.handler.hdfs.mode=tx --工作模式tx 事务 op操作
goldengate.userexit.timestamp=utc
goldengate.userexit.writers=javawriter
javawriter.stats.display=TRUE
javawriter.stats.full=TRUE
gg.log=log4j
gg.log.level=DEBUG --日志级别,可设5个级别,默认为INFO
gg.report.time=30sec
gg.classpath=/opt/cloudera/parcels/CDH/lib/hadoop/*:/opt/cloudera/parcels/CDH/lib/hadoop/lib/*:/opt/cloudera/parcels/CDH/lib/hadoop-hdfs/*:/etc/hadoop/conf/:/opt/cloudera/parcels/CDH/lib/hadoop/lib/native/*
javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar
4.3.2 配置复制进程
[root@BFHT5 ogg]# vi dirprm/rhdfs.prm
REPLICAT rhdfs --复制进程名
setenv HADOOP_COMMON_LIB_NATIVE_DIR=/opt/cloudera/parcels/CDH/lib/hadoop/lib/native
TARGETDB LIBFILE libggjava.so SET property=dirprm/hdfs.props --使用的hdfs handler配置文件
SOURCEDEFS ./dirdef/scott.def --使用定义文件
HANDLECOLLISIONS
reperror default ,discard
discardfile ./dirrpt/r_hive00000.dsc, append, megabytes 50 --错误数据写这里
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10 --组提交
MAP scott.*, TARGET scott.*;
4.3.3 添加复制进程
ggsci>ADD REPLICAT rhdfs, EXTTRAIL /opt/ogg/dirdat/em
ADD REPLICAT <group_name>
[, INTEGRATED | COORDINATED [MAXTHREADS <number> ]]
{
, SPECIALRUN |
, EXTFILE <filename> |
, EXTTRAIL <filename>
}
[, BEGIN {NOW | yyyy-mm-dd:hh:mm[:ss[.cccccc]]} |
, EXTSEQNO <seqno> , EXTRBA <rba> ]
[, CHECKPOINTTABLE <owner.table> | NODBCHECKPOINT]
[, PARAMS <parameter file > ]
[, REPORT <report file > ]
[, DESC " <description> "]
[, CPU number]
[, PRI number]
[, HOMETERM device_name]
[, PROCESSNAME process_name]
4.3.4 启动复制进程
ggsci>start rhdfs
4.3.5 检查抽取情况
4.4 配置 flume handler
4.4.1 配置flume handler
[root@BFHT5 dirprm]# vi custom-flume-rpc.properties
client.type = default
hosts = bfht5
hosts.bfht5 = 10.80.2.108:1111
batch-size = 100
connect-timeout = 20000
request-timeout = 20000
[root@BFHT5 dirprm]# vi flume.props
gg.handlerlist = flumehandler --handler 名称
gg.handler.flumehandler.type=flume --handler类型
gg.handler.flumehandler.RpcClientPropertiesFile=custom-flume-rpc.properties --指定flume代理的配置文件
gg.handler.flumehandler.mode=tx
#gg.handler.flumehandler.maxGroupSize=100, 1Mb
#gg.handler.flumehandler.minGroupSize=50, 500 Kb
gg.handler.flumehandler.EventMapsTo=tx
gg.handler.flumehandler.PropagateSchema=true
gg.handler.flumehandler.includeTokens=false
gg.handler.flumehandler.format.fieldDelimiter=,
gg.handler.flumehandler.format.lineDelimiter=;
gg.handler.flumehandler.format.includeColumnNames=true
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=dirprm/:/opt/cloudera/parcels/CDH/lib/flume-ng/lib/* --要包含flume的库
javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar
[root@BFHT5 dirprm]# vi rflume.prm
REPLICAT rflume
TARGETDB LIBFILE libggjava.so SET property=dirprm/flume.props
SOURCEDEFS ./dirdef/scott.def
HANDLECOLLISIONS
ALLOWNOOPUPDATES
discardfile ./dirrpt/r_hive00000.dsc, append, megabytes 50
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10
MAPEXCLUDE uatxdgl.USER_INFO;
MAPEXCLUDE uatxdgl.BACKDETAILS_INFO;
MAPEXCLUDE UATXDGL.ASSISTINVESTIGATE;
MAP scott.dept, TARGET scott.dept;
4.4.2 添加复制进程
ggsci>ADD REPLICAT rflume, EXTTRAIL /opt/ogg/dirdat/em
4.4.3 启动复制
GGSCI>start rflume
五、初始化数据
5.1 停止复制进程
5.2 源库查询当前SCN
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
3173410
5.3 sqoop从SCN 3173410开始抽取数据到HDFS
5.4 设置复制端使用的文件和SCN,启动复制
alter replicat fscott,extseqno 2,extrba 0 #使用scn
3173410 时的trail文件start fscott NOFILTERDUPTRANSACTIONS, aftercsn 3173410 #启动复制进程
原文:http://www.cnblogs.com/skyrim/p/7456182.html
内容总结
以上是互联网集市为您收集整理的OGG FOR BIGDATA 安装(修正)全部内容,希望文章能够帮你解决OGG FOR BIGDATA 安装(修正)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。