GoldenGate实时投递数据到大数据平台(7)– Apache Hbase
Apache Hbase安装及运行
安装hbase1.4,确保在这之前hadoop是正常运行的。设置相应的环境变量,
export HADOOP_HOME=/u01/hadoop
export HBASE_HOME=/u01/hbase
export PATH=$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin
启动hbase
./start-hbase.sh
确保hadoop, hbase能正常启动,如有问题,可自行搜索文档解决。
[oracle@ol66 bin]$ jps
11685 NodeManager
11157 SecondaryNameNode
10844 NameNode
11405 ResourceManager
13135 HMaster
13455 Jps
10959 DataNode
确保hbase在hadoop上正常运行
[oracle@ol66 u01]$ hdfs dfs -ls /
Found 3 items
drwxr-xr-x - oracle supergroup 0 2018-02-28 00:52 /hbase
drwxr-xr-x - oracle supergroup 0 2018-02-27 23:14 /ogg
drwxr-xr-x - oracle supergroup 0 2018-02-28 00:33 /tmp
[oracle@ol66 bin]$ ./hbase shell
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
Version 1.4.0, r10b9b9fae6b557157644fb9a0dc641bb8cb26e39, Fri Dec 8 16:09:13 PST 2017
hbase(main):001:0> list
TABLE
0 row(s) in 0.3800 seconds
=> []
hbase(main):002:0>
可以看到,系统中还没有任何表。
OGG安装及测试
配置OGG for bigdata的环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/server
安装ogg for bigdata 12.3版本软件
进入ggsci
ggsci>create subdirs
退回到操作系统命令行,在OGG安装目录下执行如下命令,拷贝hbase示例投递参数后进行修改
cp AdapterExamples/big-data/hbase/* dirprm/
在dirprm目录下,编辑hbase.props文件。
根据安装的hbase的路径,修改gg.classpath中 hbase lib的路径;保存退出。
hbase.props的完整内容如下:
| gg.handlerlist=hbase
gg.handler.hbase.type=hbase gg.handler.hbase.mode=tx goldengate.userexit.timestamp=utc gg.log=log4j gg.classpath=/u01/hbase/lib/*:/u01/hbase/conf/: javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar |
重新进入GGSCI,使用示例参数和示例队列创建投递进程。
GGSCI>add replicat rhbase, exttrail AdapterExamples/trail/tr
rhbase.prm的内容如下:
| REPLICAT rhbase -- 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 QASOURCE.*, TARGET QASOURCE.*; |
测试
启动投递进程
GGSCI (ol66) 19> start rhbase
Sending START request to MANAGER ...
REPLICAT RHBASE starting
GGSCI (ol66) 20> info rhbase
REPLICAT RHBASE Initialized 2018-02-28 00:53 Status STARTING
Checkpoint Lag 00:00:00 (updated 00:02:16 ago)
Process ID 15424
Log Read Checkpoint File AdapterExamples/trail/tr000000000
First Record RBA 0
GGSCI (ol66) 22> info rhbase
REPLICAT RHBASE Last Started 2018-02-28 00:55 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:02:20 ago)
Process ID 15424
Log Read Checkpoint File /u01/ogg4bd/AdapterExamples/trail/tr000000000
First Record RBA 0
GGSCI (ol66) 27> info rhbase
REPLICAT RHBASE Last Started 2018-02-28 00:55 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Process ID 15424
Log Read Checkpoint File /u01/ogg4bd/AdapterExamples/trail/tr000000000
2015-11-06 02:45:39.000000 RBA 5660
投递完成,在OGG中检查投递结果
GGSCI (ol66) 28> stats rhbase, total
Sending STATS request to REPLICAT RHBASE ...
Start of Statistics at 2018-02-28 00:56:23.
Replicating from QASOURCE.TCUSTMER to QASOURCE.TCUSTMER:
*** Total statistics since 2018-02-28 00:55:43 ***
Total inserts 5.00
Total updates 1.00
Total deletes 0.00
Total discards 0.00
Total operations 6.00
Replicating from QASOURCE.TCUSTORD to QASOURCE.TCUSTORD:
*** Total statistics since 2018-02-28 00:55:43 ***
Total inserts 5.00
Total updates 3.00
Total deletes 2.00
Total discards 0.00
Total operations 10.00
End of Statistics.
在hbase上查看,已经比刚开始多了2张表
hbase(main):002:0> list
TABLE
QASOURCE:TCUSTMER
QASOURCE:TCUSTORD
2 row(s) in 0.0190 seconds
=> ["QASOURCE:TCUSTMER", "QASOURCE:TCUSTORD"]
查看数据
hbase(main):005:0> scan 'QASOURCE:TCUSTMER'
ROW COLUMN+CELL
ANN column=cf:CITY, timestamp=1519750550592, value=NEW YORK
ANN column=cf:CUST_CODE, timestamp=1519750550592, value=ANN
ANN column=cf:NAME, timestamp=1519750550592, value=ANN'S BOATS
ANN column=cf:STATE, timestamp=1519750550592, value=NY
BILL column=cf:CITY, timestamp=1519750550592, value=DENVER
BILL column=cf:CUST_CODE, timestamp=1519750550592, value=BILL
BILL column=cf:NAME, timestamp=1519750550592, value=BILL'S USED CARS
BILL column=cf:STATE, timestamp=1519750550592, value=CO
DAVE column=cf:CITY, timestamp=1519750550592, value=TALLAHASSEE
DAVE column=cf:CUST_CODE, timestamp=1519750550592, value=DAVE
DAVE column=cf:NAME, timestamp=1519750550592, value=DAVE'S PLANES INC.
DAVE column=cf:STATE, timestamp=1519750550592, value=FL
JANE column=cf:CITY, timestamp=1519750550421, value=DENVER
JANE column=cf:CUST_CODE, timestamp=1519750550421, value=JANE
JANE column=cf:NAME, timestamp=1519750550421, value=ROCKY FLYER INC.
JANE column=cf:STATE, timestamp=1519750550421, value=CO
WILL column=cf:CITY, timestamp=1519750550421, value=SEATTLE
WILL column=cf:CUST_CODE, timestamp=1519750550421, value=WILL
WILL column=cf:NAME, timestamp=1519750550421, value=BG SOFTWARE CO.
WILL column=cf:STATE, timestamp=1519750550421, value=WA
5 row(s) in 0.3150 seconds
hbase(main):001:0> scan 'QASOURCE:TCUSTORD'
ROW COLUMN+CELL
BILL|1995-12-31 15:00:00|CAR|765 column=cf:CUST_CODE, timestamp=1519750550614, value=BILL
BILL|1995-12-31 15:00:00|CAR|765 column=cf:ORDER_DATE, timestamp=1519750550614, value=1995-12-31 15:00:00
BILL|1995-12-31 15:00:00|CAR|765 column=cf:ORDER_ID, timestamp=1519750550614, value=765
BILL|1995-12-31 15:00:00|CAR|765 column=cf:PRODUCT_AMOUNT, timestamp=1519750550614, value=3
BILL|1995-12-31 15:00:00|CAR|765 column=cf:PRODUCT_CODE, timestamp=1519750550614, value=CAR
BILL|1995-12-31 15:00:00|CAR|765 column=cf:PRODUCT_PRICE, timestamp=1519750550614, value=14000.00
BILL|1995-12-31 15:00:00|CAR|765 column=cf:TRANSACTION_ID, timestamp=1519750550614, value=100
BILL|1996-01-01 00:00:00|TRUCK|333 column=cf:CUST_CODE, timestamp=1519750550614, value=BILL
BILL|1996-01-01 00:00:00|TRUCK|333 column=cf:ORDER_DATE, timestamp=1519750550614, value=1996-01-01 00:00:00
BILL|1996-01-01 00:00:00|TRUCK|333 column=cf:ORDER_ID, timestamp=1519750550614, value=333
BILL|1996-01-01 00:00:00|TRUCK|333 column=cf:PRODUCT_AMOUNT, timestamp=1519750550614, value=15
BILL|1996-01-01 00:00:00|TRUCK|333 column=cf:PRODUCT_CODE, timestamp=1519750550614, value=TRUCK
BILL|1996-01-01 00:00:00|TRUCK|333 column=cf:PRODUCT_PRICE, timestamp=1519750550614, value=25000.00
BILL|1996-01-01 00:00:00|TRUCK|333 column=cf:TRANSACTION_ID, timestamp=1519750550614, value=100
WILL|1994-09-30 15:33:00|CAR|144 column=cf:CUST_CODE, timestamp=1519750550614, value=WILL
WILL|1994-09-30 15:33:00|CAR|144 column=cf:ORDER_DATE, timestamp=1519750550614, value=1994-09-30 15:33:00
WILL|1994-09-30 15:33:00|CAR|144 column=cf:ORDER_ID, timestamp=1519750550614, value=144
WILL|1994-09-30 15:33:00|CAR|144 column=cf:PRODUCT_AMOUNT, timestamp=1519750550453, value=3
WILL|1994-09-30 15:33:00|CAR|144 column=cf:PRODUCT_CODE, timestamp=1519750550614, value=CAR
WILL|1994-09-30 15:33:00|CAR|144 column=cf:PRODUCT_PRICE, timestamp=1519750550614, value=16520.00
WILL|1994-09-30 15:33:00|CAR|144 column=cf:TRANSACTION_ID, timestamp=1519750550453, value=100
3 row(s) in 0.6770 seconds
可以看到,OGG配置投递到Hbase非常简单,可以根据DB中表的主键字段创建key,如果没有PK字段,则投递时会报错。以下是当前OGG版本支持的Hbase版本

GoldenGate实时投递数据到大数据平台(7)– Apache Hbase的更多相关文章
- GoldenGate实时投递数据到大数据平台(2)- Cassandra
简介 GoldenGate是一款可以实时投递数据到大数据平台的软件,针对apache cassandra,经过简单配置,即可实现从关系型数据将增量数据实时投递到Cassandra,以下介绍配置过程. ...
- GoldenGate实时投递数据到大数据平台(5) - Kafka
Oracle GoldenGate是Oracle公司的实时数据复制软件,支持关系型数据库和多种大数据平台.从GoldenGate 12.2开始,GoldenGate支持直接投递数据到Kafka等平台, ...
- 大数据学习---大数据的学习【all】
大数据介绍 什么是大数据以及有什么特点 大数据:是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合. 大数据是一种方法论:“一切都被记录,一切都被数字化,从数据中寻找需求,寻找知 ...
- 转 开启“大数据”时代--大数据挑战与NoSQL数据库技术 iteye
一直觉得“大数据”这个名词离我很近,却又很遥远.最近不管是微博上,还是各种技术博客.论坛,碎碎念大数据概念的不胜枚举. 在我的理解里,从概念理解上来讲,大数据的目的在于更好的数据分析,否则如此大数据的 ...
- GoldenGate实时投递数据到大数据平台(6)– HDFS
GoldenGate可以实时将RDBMS的数据投递到HDFS中,在前面的文章中,已经配置过投递到kafka, mongodb等数据平台,本文通过OGG for bigdata的介质中自带的示例演示实时 ...
- GoldenGate实时投递数据到大数据平台(3)- Apache Flume
Apache Flume Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合,最后存储到一个中心化数据存储系统中,方便进行数据分析.事实上flume也可 ...
- GoldenGate实时投递数据到大数据平台(4)- ElasticSearch 2.x
ES 2.x ES 2.x安装 下载elasticSearch 2.4.5, https://www.elastic.co/downloads/elasticsearch 解压下载后的压缩包,启动ES ...
- GoldenGate实时投递数据到大数据平台(1)-MongoDB
mongodb安装 安装 linux下可使用apt-get install mongodb-server 或 yum install mongodb-server 进行安装. 也可以在windows上 ...
- [转载] 使用 Twitter Storm 处理实时的大数据
转载自http://www.ibm.com/developerworks/cn/opensource/os-twitterstorm/ 流式处理大数据简介 Storm 是一个开源的.大数据处理系统,与 ...
随机推荐
- mysql关联表修改语句
UPDATE tb_irms_trans_pip2optseg a,`tb_irms_trans_pip` b SET a.district=b.district WHERE a.prop_id=b. ...
- Qt编写自定义控件2-进度条标尺
前言 进度条标尺控件的应用场景一般是需要手动拉动进度,上面有标尺可以看到当前进度,类似于qslider控件,其实就是qslider+qprogressbar的杂交版本,不过我才用的是纯qpainter ...
- CSS实现自适应九宫格布局 大全
看到微博和朋友圈都实现了图片九宫格,曾经有次面试也问到了九宫格这个问题,当时想到的是先固定每个单元格的宽高,然后进行浮动.今天想折腾一下,实现自适应父元素宽度的布局.这次我只写了四种方式去实现九宫格, ...
- 【CF542D】Superhero's Job 暴力
[CF542D]Superhero's Job 题意:$ f(x)=\sum\limits_{d|x,gcd(d,{x\over d})=1} d$ 给出 $A$ ,求方程 $f(x)=A$ 的正整数 ...
- 11.11luffycity(5)
2018-11-11 17:52:46 昨天和今天把两个接口写完啦! 今天双十一,感觉没啥感觉!!!买了个耳机,原价24, -5-7. 最后12买了 由于这个今天没源码,所以贴上笔记, 越努力,越幸 ...
- QT上位机
程序是用QT写的,通过COM口进行数据的读取. 源码地址:https://github.com/kunkunlin/QT-SWJ
- Java课程寒假之开发记账本软件(网页版)之一
一.制定网页版记账本的基础功能 首先是下载了几个记账本APP,大致地看了一下记账本的功能:添加记录(支出,收入,自定义模板),查询流水(分类查询),账户. 二.开始做出框架 鉴于记账本有上面的功能,所 ...
- js 函数中的this
资料 function 函数 没有"this"的持久概念, 调用函数时,创建this function hello(thing) { console.log(this + &quo ...
- ubuntu下nodejs和npm的安装及升级
ubuntu 下 nodejs 和 npm 的安装及升级 参考:https://segmentfault.com/a/1190000007542620 一:ubuntu下安装 node 和 npm命令 ...
- WINDOWS自带md5校验工具
WINDOWS自带的工具certutil.exe, certutil -hashfile chropp.exe MD5; 就可以了