Follow the steps below to secure the data connection between Hive/Hadoop in WSO2 BAM and Cassandra server.
- Download and install appropriate java security libraries (JCE libraries) into
<JRE_HOME>/lib/security/
directory. Add the following configurations under
client_encryption_options
in<PRODUCT
_HOME>/repository/conf/etc/cassandra.yaml
file:client_encryption_options: enabled: true keystore: [Key Store Path] keystore_password: [Key Store Password] require_client_auth: false # Set trustore and truststore_password if require_client_auth is true # truststore: [Trust Store Path] # truststore_password: [Trust Store Password] # More advanced defaults below: protocol: SSL algorithm: SunX509 store_type: JKS cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA]
- If the Cassandra connection is successfully secured, in the Cassandra server startup you will see the message below.
Add the following c lient side (Hector) system property configurations in
<PRODUCT_HOME>/bin/wso2server.sh
file and start the server:-Dssl.protocol=TLS -Dssl.cipher.suites=TLS_RSA_WITH_AES_256_CBC_SHA -Dssl.store.type=JKS -Dssl.truststore=[Trust store path] -Dssl.truststore.password=[Trust store password]
If you're using a distributed clustered BAM setup with an external Hadoop cluster, then all the Hadoop nodes must have this 'trust store'
of the above configurations within the same folder structure, which is mentioned in <PRODUCT_HOME>/bin/wso2server.sh
file.