Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created on 11-15-2017 09:36 AM - edited 09-16-2022 05:31 AM
Hello Cloudera Community,
We have a primary and a standby Oracle clusters where our Hive Metastore DB is located.
I'd like to be able to specify a FAILOVER JDBC connection string which might access both primary and standby Oracle cluster.
I don't want to change manually values for "Hive Metastore Database Host" and "Hive Metastore Database Name" everytime when a primary and a standby Oracle DB's are switched over (their roles will be swapped).
How can i specify a JDBC connection string for the "Hive Metastore Database"?
Our CDH version: 5.11.0
Thank you!
Created 11-22-2017 02:39 AM
I got a very helpful answer from the Cloudera Support and it did the trick:
Look for "Hive Metastore Server Advanced Configuration Snippet (Safety Valve) for hive-site.xml" in the Hive configuration, press (+) [Plus button] and specify the following:
in the "Name" field: javax.jdo.option.ConnectionURL
in the "Value" field: jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(FAILOVER=on)(CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-server1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-server2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ora_service_name.ora_domain_name)))
NOTE: You will have to change the connection string correspondingly - I just showed an example of the failover-able (primary + standby DBs) Oracle TNS connection string.
The same trick can be used for "Sentry", but the corresponding parameter name is: "sentry.store.jdbc.url"
Created 11-22-2017 02:39 AM
I got a very helpful answer from the Cloudera Support and it did the trick:
Look for "Hive Metastore Server Advanced Configuration Snippet (Safety Valve) for hive-site.xml" in the Hive configuration, press (+) [Plus button] and specify the following:
in the "Name" field: javax.jdo.option.ConnectionURL
in the "Value" field: jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(FAILOVER=on)(CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-server1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-server2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ora_service_name.ora_domain_name)))
NOTE: You will have to change the connection string correspondingly - I just showed an example of the failover-able (primary + standby DBs) Oracle TNS connection string.
The same trick can be used for "Sentry", but the corresponding parameter name is: "sentry.store.jdbc.url"