Configuring AlwaysOn SQL using LCM
About this task
AlwaysOn SQL is a high availability service that responds to SQL queries from JDBC and ODBC applications. By default, AlwaysOn SQL is disabled. It is built on top of the Spark SQL Thriftserver, but provides failover and caching between instances so there is no single point of failure. AlwaysOn SQL provides enhanced security, leveraging the same user management as the rest of DSE, executing queries to the underlying database as the user authenticated to AlwaysOn SQL.
Configure the AlwaysOn SQL service for DSE Analytics using Lifecycle Manager. Add a configuration profile and associate it with the datacenter in the Clusters workspace of LCM, then run a configure job to push the configuration to all nodes in the datacenter.
Prerequisites
Review the documentation for the feature. See Using AlwaysOn SQL service in the DataStax documentation and Introducing AlwaysOn SQL for DSE Analytics on the DataStax Developer Blog.
When AlwaysOn SQL is enabled within a DSE Analytics datacenter, all nodes within the datacenter must have AlwaysOn SQL enabled. |
Procedure
-
Click Config Profiles from the Lifecycle Manager navigation menu.
-
Click the edit icon for the configuration profile you want to edit, or click Add Config Profile to add a configuration profile.
-
In the Config Profile pane under the Cassandra section, click dse.yaml.
-
Scroll down to the AlwaysOn SQL Server Options panel and select the enabled option.
The panel expands to show available configuration options.
-
Adjust the default settings as appropriate for your environment. See AlwaysOn SQL for complete details.
-
LCM configuration profiles have authentication enabled by default through DSEAuthenticator and its internal scheme. To enable AlwaysOn SQL to work with this configuration:
-
In the Config Profile pane under the Spark section, click hive-site.xml.
-
Set the jdbc-auth-type to password for SparkSQL JDBC connections. This step assumes the configuration profile has an internal authentication scheme enabled, which is the default.
-
-
If Transport Layer Security (TLS) is enabled in cassandra.yaml, enable SSL for AlwaysOn SQL:
-
In the Config Profile pane under the Spark section, click hive-site.xml.
-
To specify using SSL for JDBC connections, select use-ssl.
-
Enter the same keystore path and keystore-password as those set for client-to-node encryption in
cassandra.yaml
. For background information, see Enabling SSL for AlwaysOn SQL.
-
-
Click Save to save the configuration profile.
-
Go to the Clusters workspace to select the configuration profile.
-
Click the ellipsis next to the cluster, datacenter, or node where the configuration profile will be applied and click Edit.
-
Select the Config Profile to apply and then click Save.
-
-
Run a configure job to apply the configuration profile changes.
-
Complete the steps in Using authentication with AlwaysOn SQL to create the auth_user role, grant that role sufficient permissions, and restart AlwaysOn SQL.
What’s next
On the Nodes page in OpsCenter, monitor the node status. Hovering the cursor over a node where AlwaysOn SQL is enabled lists AlwaysOn SQL in the Status pane.