1、 軟件版本說明:
為五臺(tái)等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及五臺(tái)網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都做網(wǎng)站、五臺(tái)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Goldengate 12c 12.2.0.1 forOracle (源端 )
Goldengate 12c 12.2.0.1 for Bigdata ( 目標(biāo)端)
Oracle 11g 11.2.0.4.0 (注oracle數(shù)據(jù)庫必須是11.2.0.4之后的版本,之前的oracle數(shù)據(jù)庫版本不支持ogg 12c )
HBase 1.1.2
Java 1.8.0_91
2、 機(jī)器IP 說明
源端IP地址(192.168.45.176)安裝 Oracle 11g 11.2.0.4 , Goldengate 12c
目標(biāo)端 IP地址(192.168.45.175),安裝 hbase,Goldengate 12c ,軟件安裝
hbase已采用ambari 進(jìn)行安裝,安裝過程不作詳細(xì)說明,在此主要說明下各軟件的安裝目錄,以及使用的端口。
Oracle 12c for Oracle (192.168.45.176) 安裝目錄為:/home/oracle/oggdb
Oracle 12c for bigdata (192.168.45.175) 安裝目錄為:/ogg
Hbase 安裝目錄: /usr/hdp/2.4.2.0-258/hbase
3、 源端(192.168.45.176) 的配置
#連接數(shù)據(jù)庫
sqlplus / as sysdba
SQL> shutdownimmeidate;
SQL> startup mount;
#開啟歸檔日志
SQL> alter database archivelog;
SQL> archive log list
#開啟數(shù)據(jù)庫級(jí)日志
SQL> alter database force logging;
#開啟 goldengate 復(fù)制功能(注:此參數(shù)必須開啟,oracle 11.2.0.4 之后的數(shù)據(jù)庫才支持此參數(shù))
SQL> alter system set enable_goldengate_replication=true scope=both;
#關(guān)閉 垃圾回收站
SQL> alter system set recyclebin=off scope=spfile;
#開啟數(shù)據(jù)庫
SQL> alter databaseopen;
#創(chuàng)建ogg 管理用戶
SQL> create user oggidentified by ogg account unlock;
SQL> grant execute on utl_file to ogg;
SQL>grant restricted session to ogg;
SQL> grant dba to ogg
進(jìn)入源端(192.168.45.176)OGG 目錄,配置數(shù)據(jù)初始化。
# cd /home/oracle/oggdb
#進(jìn)入ogg
[oracle@sy-bd-061 oggdb]$ ./ggsci
#配置源端mgr進(jìn)程
GGSCI (oracle) 10> edit params mgr
PORT 7809
#配置同步用戶
GGSCI (oracle) 7> dblogin userid ogg,password ogg
Successfully logged into database.
#給scott用戶下的所有表開啟附加日志
GGSCI (oracle) 8> add trandata scott.*
#源端配置initload extract 進(jìn)程
GGSCI (oracle) 8> add extract fafainih, sourceistable
EXTRACT added.
#配置extract進(jìn)程 fafainie 參數(shù)
extractfafainih
useridogg,password ogg
rmthost192.168.45.175,mgrport 7809
--rmttaskreplicat,group fafainir
RMTFILE./dirdat/hh
tablescott.*;
4、 目標(biāo) 端的配置。(192.168.45.175)
#在用戶家目錄下的 ~/.bash_profile中配置用戶的JAVA_HOME,以及LIB_PATH 環(huán)境變量。
exportJAVA_HOME=/usr/java/jdk1.8.0_91/jre/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/java/jdk1.8.0_91/jre/lib/amd64/libjsig.so:/usr/java/jdk1.8.0_91/jre/lib/amd64/server/libjvm.so:/usr/java/jdk1.8.0_91/jre/lib/amd64/server:/usr/java/jdk1.8.0_91/jre/lib/amd64
#使新加入的環(huán)境變量生效
source ~/.bash_profile
#進(jìn)入 OGG安裝目錄
cd /ogg
#復(fù)制 hbase對(duì)應(yīng)的配置文件。
cp AdapterExamples/big-data/hbase/* dirprm/
cd /ogg/dirprm
[root@sy-bd-060 dirprm]# vi hbase.props
gg.handlerlist=hbase
gg.handler.hbase.type=hbase
gg.handler.hbase.hBaseColumnFamilyName=cf
gg.handler.hbase.keyValueDelimiter=CDATA[=]
gg.handler.hbase.keyValuePairDelimiter=CDATA[,]
gg.handler.hbase.encoding=UTF-8
gg.handler.hbase.pkUpdateHandling=abend
gg.handler.hbase.nullValueRepresentation=CDATA[NULL]
gg.handler.hbase.authType=none
gg.handler.hbase.includeTokens=false
gg.handler.hbase.mode=tx
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
#配置hbase 所用庫的路徑
gg.classpath=/usr/hdp/2.4.2.0-258/hbase/lib/*:/usr/hdp/2.4.2.0-258/hbase/conf/:/usr/hdp/2.4.2.0-258/hadoop/client/*
javawriter.bootoptions=-Xmx512m -Xms32m-Djava.class.path=ggjava/ggjava.jar
#進(jìn)入ogg
cd /ogg
./ggsci
GGSCI (hbase) 2> edit params mgr
Port 7809
#配置復(fù)制進(jìn)程
GGSCI (hbase) 5> add replicat irhbase, specialrun
SPECIALRUN
END RUNTIME
EXTFILE ./dirdat/hh
TARGETDB LIBFILE libggjava.so SETproperty=dirprm/hbase.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP scott.*, TARGET BDTEST.*;
5、 源端(192.168.45.176)
cd /home/oracle/oggdb
./ggsci
#啟動(dòng)fafainie 進(jìn)程
GGSCI (oracle) 1> start fafainih
#查看進(jìn)程的執(zhí)行情況
GGSCI (oracle) 2> view report fafainih
6、 目標(biāo)端(192.168.45.175)
cd /ogg
#啟動(dòng)復(fù)制進(jìn)程
./replicat paramfile ./dirprm/irhbase.prm reportfile ./dirrpt/irhbase.rpt -p INITIALDATALOAD
#進(jìn)入hbase 環(huán)境
Hbase shell
#查看表中的數(shù)據(jù)
發(fā)現(xiàn)表中的數(shù)據(jù)已經(jīng)存在,說明oracle的 數(shù)據(jù)成功加載至 hbase.
源端(192.168.45.176)配置數(shù)據(jù)的動(dòng)態(tài)抓取
cd /home/oracle/oggdb
sqlplus / as sysdba
SQL> @marker_setup
#在以下提示中輸入:ogg
Enter Oracle GoldenGate schema name:ogg
#創(chuàng)建OGG表空間,授予OGG用戶相應(yīng)的權(quán)限
SQL> CREATE TABLESPACE TBS_OGG DATAFILE '/home/oracle/app/oracle/oradata/oggdb/tbs_ogg_01.dbf'SIZE 2G AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
Tablespace created.
SQL> alter user ogg DEFAULT TABLESPACE TBS_OGG;
User altered.
SQL> grant connect,resource,unlimited tablespace to ogg;
Grant succeeded.
SQL> @ddl_setup.sql
#在以下提示中:輸入ogg
Enter Oracle GoldenGate schema name:ogg
SQL> @role_setup
#在以下提示中:輸入ogg
Enter GoldenGate schema name:ogg
SQL> GRANT GGS_GGSUSER_ROLE TO OGG;
#配置OGG 日志抓取進(jìn)程
cd /home/oracle/oggdb
./ggsci
#源端創(chuàng)建OGG 抽取進(jìn)程
GGSCI (oracle) 1> add extract scotthb, tranlog, begin now
#指定抽取進(jìn)程trail文件的位置
GGSCI (oracle) 2> add rmttrail /ogg/dirdat/ha,extract scotthb
#編輯 scotthb 進(jìn)程參數(shù)
GGSCI (oracle) 3> edit params scotthb
extract scotthb
userid ogg,password ogg
rmthost 192.168.45.175, mgrport 7809
rmttrail /ogg/dirdat/ha
discardfile /home/oracle/oggdb/dirrpt/trail.dsc,append,megabytes 100
ddl include mapped
table scott.*;
7、目標(biāo)端(192.168.45.175)配置數(shù)據(jù)復(fù)制進(jìn)程
cd /ogg
./ggsci
#配置全局參數(shù)
GGSCI (hbase) 1> edit params ./GLOBALS
ggschema ogg
checkpointtable ogg.chkpnt_fafa
#配置解析進(jìn)程
GGSCI (hbase) 2> add replicat rscott,exttrail /ogg/dirdat/ha
#編輯解析進(jìn)程參數(shù)
GGSCI (hbase) 3> edit params rscott
REPLICAT rscott
-- Trail file for this example is located in"AdapterExamples/trail" directory
-- Command to add REPLICAT
-- add replicat rhbase, exttrail AdapterExamples/trail/tr
TARGETDB LIBFILE libggjava.so SET property=dirprm/hbase.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP scott.*, TARGET bdtest.*;
8、源端(192.168.45.176)啟動(dòng)抓取進(jìn)程
cd /home/oracle/ogdb
./ggsci
GGSCI (oracle) 1> start scotthb
9、 目標(biāo)端(192.168.45.173)啟動(dòng)復(fù)制進(jìn)程
cd /home/oracle/oggdb
./ggsci
GGSCI (kafka) 1> start rscott
至此,整個(gè)配置過程完成,配置完成后,可以通過在源端(192.168.45.176)中的oracle 數(shù)據(jù)庫中,進(jìn)行DML操作,測(cè)試新變化的數(shù)據(jù),是否能同步到hbase。
10、源端數(shù)據(jù)庫做測(cè)試(192.168.45.176)
sqlplus / as sysdba
SQL> Alter user scott account unlock;
SQL> conn scott/tiger
#向scott.dept表中新插入一條數(shù)據(jù)
SQL> insert into scott.deptvalues(50,'DEVELOP','SHANGHAI');
SQL> commit;
11、在目標(biāo)端(192.168.45.175)上查看數(shù)據(jù)
Hbase shell
在hbase中,已經(jīng)可以查詢到新增加的數(shù)據(jù)。
12、在源端(192.168.45.176)修改oracle 數(shù)據(jù).
sqlplus / as sysdba
SQL> update scott.dept set loc='HANGZHOU'where deptno=50;
SQL> commit;
13、在目標(biāo)端(192.168.45.175) 查看數(shù)據(jù)
Hbase shell
發(fā)現(xiàn)hbase 數(shù)據(jù)對(duì)應(yīng)的記錄已經(jīng)相應(yīng)的修改。