Support Questions

Find answers, ask questions, and share your expertise

Cloudera Manager unable to connect to exadata with HA configuration due Hostname verification

avatar
New Contributor

Hello,

 

I need to connect to my exadata using this kind of JDBC uri in order to provide HA at database level:

jdbc:oracle:thin:@(DESCRIPTION_LIST=(FAILOVER=ON)(LOAD_BALANCE=OFF)(DESCRIPTION=(RETRY_COUNT=3)(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3000)(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service)))(DESCRIPTION=(RETRY_COUNT=3)(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3000)(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service))))


I managed with some workaounds to use this kind of URI in all my services, including Hue, but Im not able to do it despite I managed to make cloudera manager construct correctly the jdbc using the string after the @ in the "com.cloudera.cmf.db.host" because it have some hostname verification that tries to resolve via DNS the hostname.

What would be the proper way to configure this or use a custom jdbc uri? I would like to have in Cloudera manager this kind of automatic failover as I had with ambari in HDP.

 

Thank you in advance.

Best regards.

2 REPLIES 2

avatar
Master Collaborator

@Jua 

 

Cloudera expects HA solutions for RDBMS to be transparent to Cloudera software, and therefore are not supported and debugged by Cloudera.

 

Having said that you can try to modify the /etc/cloudera-scm-server/db.properties with the URL in below format and test it out.

com.cloudera.cmf.db.type=oracle
com.cloudera.cmf.orm.hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
com.cloudera.cmf.orm.hibernate.connection.url=jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(FAILOVER=on) /  
(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS=(PROTOCOL=TCP)(HOST=hostname1)(PORT=1521))  /  
(ADDRESS=(PROTOCOL=TCP)(HOST=hostname2)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=<Oracle-SID>)))
com.cloudera.cmf.orm.hibernate.connection.username=<CM-Oracle-user>
com.cloudera.cmf.orm.hibernate.connection.password=<password>

 

I suggest to check with your DB vendor to validate the jdbc URL if this still fails.

 

Hope this helps,
Paras
Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.

avatar
Community Manager

@Jua, Has the reply helped resolve your issue? If so, please mark the appropriate reply as the solution, as it will make it easier for others to find the answer in the future.  



Regards,

Vidya Sargur,
Community Manager


Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Learn more about the Cloudera Community: