This is an old revision of the document!


To configure cassandra configuration we have to follow the steps as the previous topics.

Before starting, we have to install and configure Cassandra:

Start Cassandra

[oracle@hostname ~]$ cd /stage
[oracle@hostname stage]$ mkdir cassandra
[oracle@hostname stage]$ cp cassandra-java-driver-3.1.3.tar.gz
cassandra
[oracle@hostname stage]$ cd cassandra
[oracle@hostname cassandra]$ tar xzvf cassandra-java-driver-
3.1.3.tar.gz
cassandra-java-driver-3.1.3/apidocs/
cassandra-java-driver-3.1.3/apidocs/com/
cassandra-java-driver-3.1.3/apidocs/com/datastax/
cassandra-java-driver-3.1.3/apidocs/com/datastax/driver/
… Many lines omitted for brevity…
cassandra-java-driver-3.1.3/src/cassandra-driver-mapping-3.1.3-
src.zip
cassandra-java-driver-3.1.3/src/cassandra-driver-extras-3.1.3-
src.zip
[oracle@hostname cassandra]$ ls -1 cassandra-java-driver-3.1.3
apidocs
cassandra-driver-core-3.1.3.jar
cassandra-driver-extras-3.1.3.jar
cassandra-driver-mapping-3.1.3.jar
changelog
lib
src
upgrade_guide
[oracle@ hostname ~]$ cassandra
CompilerOracle: dontinline
org/apache/cassandra/db/Columns$Serializer.deserializeLargeSubset(Lorg/apache/cassandra/io/util/DataInputPlus;Lorg/apache/cassandra/db/Columns;I)Lorg/apache/cassandra/db/Columns;
… Many lines omitted for brevity…
1335055093669716, 9131915236894670840]
INFO 08:25:30 Node localhost/127.0.0.1 state jump to NORMAL
-------------------------------------------------------------------
[oracle@ hostname ~]$ cqlsh -u cassandra -p cassandra
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.10 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cassandra@cqlsh> CREATE KEYSPACE oggsrc WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor' : 3 };
cassandra@cqlsh> describe keyspaces
oggsrc system_schema system_auth system system_distributed system_traces

(e.g. TRG_OGGHOME/dirprm/cass.properties)

gg.handlerlist=cassandra
gg.handler.cassandra.type=cassandra
gg.handler.cassandra.mode=op
gg.handler.cassandra.contactPoints=localhost
gg.handler.cassandra.username=cassandra
gg.handler.cassandra.password=cassandra
gg.handler.cassandra.ddlHandling=CREATE,ADD,DROP
gg.handler.cassandra.compressedUpdates=true
gg.handler.cassandra.cassandraMode=async
gg.handler.cassandra.consistencyLevel=ONE

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=/stage/cassandra/cassandra-java-driver-
3.1.3/*:/opt/cassandra/lib/*
jvm.bootoptions=-Xmx512m -Xms32m -
Djava.class.path=.:ggjava/ggjava.jar:./dirprm


Now, we have to configure the Golden Gate (Replicat)

Configure Golden Gate

[oracle@edvmr1p0 dirprm]$ trg
[oracle@edvmr1p0 oggtrg]$ ggsci

Oracle GoldenGate Command Interpreter
Version 12.2.0.1.160823 OGGCORE_OGGADP.12.2.0.1.0_PLATFORMS_161019.1437
Linux, x64, 64bit (optimized), Generic on Oct 19 2016 16:01:40
Operating system character set identified as UTF-8.

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



GGSCI (edvmr1p0) 1> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           


GGSCI (edvmr1p0) 2> edit param rcass

REPLICAT rcass
TARGETDB LIBFILE libggjava.so SET
property=dirprm/cass.properties
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 1000
MAP OGGSRC.*, TARGET OGGSRC.*;
:wq

GGSCI (edvmr1p0) 3> add replicat rcass, exttrail ./dirdat/cs
REPLICAT added.


GGSCI (edvmr1p0) 4> start rcass

Sending START request to MANAGER ...
REPLICAT RCASS starting


GGSCI (edvmr1p0) 5> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    STARTING    RCASS       00:00:00      00:19:02    


GGSCI (edvmr1p0) 6> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     RCASS       00:00:00      00:00:01    


GGSCI (edvmr1p0) 7> 

To verify the configuration, we will insert data in Oracle and see how this is replicated:

Insert Data in Oracle Source DB

[oracle@edvmr1p0 ~]$ sqlplus oggsrc/oracle@orcl

SQL*Plus: Release 12.1.0.2.0 Production on Thu Nov 12 16:47:33 2020

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Last Successful login time: Thu Nov 12 2020 16:13:25 +00:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> insert into product_prod select * from product where product_id > 1000 and product_id < 6001;

5000 rows created.

SQL> commit;

Commit complete.

SQL> 

Now, we can check if that database has been send over the Golden Gate

Verify the Golden Gate Replication

--Source
[oracle@edvmr1p0 oggtrg]$ src
[oracle@edvmr1p0 oggsrc]$ 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) 1995, 2015, Oracle and/or its affiliates. All rights reserved.



GGSCI (edvmr1p0) 1> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPUMP       00:00:00      00:00:06    
EXTRACT     RUNNING     PRIEX       00:00:10      00:00:06    


GGSCI (edvmr1p0) 2> send priex, stats

Sending STATS request to EXTRACT PRIEX ...

Start of Statistics at 2020-11-12 16:48:10.

DDL replication statistics (for all trails):

*** Total statistics since extract started     ***
	Operations                		           6.00

Output to ./dirdat/in:

Extracting from OGGSRC.PRODUCT_PROD to OGGSRC.PRODUCT_PROD:

*** Total statistics since 2020-11-12 16:47:45 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

*** Daily statistics since 2020-11-12 16:47:45 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

*** Hourly statistics since 2020-11-12 16:47:45 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

*** Latest statistics since 2020-11-12 16:47:45 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

End of Statistics.


GGSCI (edvmr1p0) 3> 

--Target
GGSCI (edvmr1p0) 6> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     RCASS       00:00:00      00:00:01    


GGSCI (edvmr1p0) 7> send rcass, stats

Sending STATS request to REPLICAT RCASS ...

Start of Statistics at 2020-11-12 16:48:17.

Replicating from OGGSRC.PRODUCT_PROD to OGGSRC.PRODUCT_PROD:

*** Total statistics since 2020-11-12 16:47:47 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

*** Daily statistics since 2020-11-12 16:47:47 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

*** Hourly statistics since 2020-11-12 16:47:47 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

*** Latest statistics since 2020-11-12 16:47:47 ***
	Total inserts                   	        5000.00
	Total updates                   	           0.00
	Total deletes                   	           0.00
	Total discards                  	           0.00
	Total operations                	        5000.00

End of Statistics.


GGSCI (edvmr1p0) 8> 

Finally, we can verify the application on Cassandra:

Verify replication on Cassandra

[oracle@edvmr1p0 ~]$ cqlsh -u cassandra -p cassandra
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.10 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cassandra@cqlsh> CREATE KEYSPACE oggsrc WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor' : 3 };
cassandra@cqlsh> describe keyspaces

oggsrc  system_schema  system_auth  system  system_distributed  system_traces

cassandra@cqlsh> use oggsrc
   ... ;     
cassandra@cqlsh:oggsrc> describe tables;

product_prod

cassandra@cqlsh:oggsrc> select count(*) from product_prod;

 count
-------
  5000

(1 rows)

Warnings :
Aggregation query used without partition key

cassandra@cqlsh:oggsrc> 
  • oracle_goldengate_apache_cassandra.1605199969.txt.gz
  • Last modified: 2020/11/12 16:52
  • by andonovj