Acceldata
Pulse

Last updated: Sep 27, 2026 17:39 UTC

Configuring RMI JMX with Basic Authentication

To collect Java Management Extensions (JMX) data through a Remote Method Invocation (RMI) port that's secured with Basic Authentication, follow these steps:

  • Create the Override Configuration File (if it doesn't exist): Navigate to your cluster's directory and create an override.yml file if one isn't already present:
touch $AcceloHome/work/<clusterName>/override.yml
  • Configure the override.yml File:
    • Open the override.yml file using a text editor:
vi $AcceloHome/work/<clusterName>/override.yml

b. Insert the following configurations for the respective services, if they're not already included:

  • For Hive Metastore:
jmx:
 hive_metastore_auth: "true"
 hive_metastore_username: "<HIVE METASTORE USERNAME>"
 hive_metastore_password: "<HIVE METASTORE PASSWORD>"
 hive_metastore_port: "<HIVE METASTORE JMX PORT>"
  • For Hive Server:
jmx:
 hive_server_auth: "true"
 hive_server_username: "<HIVE SERVER USERNAME>"
 hive_server_password: "<HIVE SERVER PASSWORD>"
 hive_server_port: "<HIVE SERVER JMX PORT>"
  • For Kafka:
jmx: 
 kafka_broker_auth: "true"
 kafka_broker_username: "<KAFKA BROKER USERNAME>""
    kafka_broker_password: "<KAFKA BROKER PASSWORD>""
 kafka_broker_port: "<KAFKA BROKER JMX PORT>"
  • For Zeppelin:
jmx: 
 zeppelin_master_auth: "true"
 zeppelin_master_username: "<ZEPPELIN MASTER USERNAME>""
    zeppelin_master_password: "<ZEPPELIN MASTER PASSWORD>"
    zeppelin_master_port: "<ZEPPELIN MASTER JMX PORT>"
  • For Zookeeper:
jmx:
 zookeeper_server_auth: "true"
 zookeeper_server_username: "<ZOOKEEPER SERVER USERNAME>""
    zookeeper_server_password: "<ZOOKEEPER SERVER PASSWORD>""
 zookeeper_server_port: "<ZOOKEEPER SERVER PORT>"
  • For Kafka Mirror Maker:
jmx: 
 kafka_mirror_maker_port: "<KAFKA MIRROR MAKER PORT>"
 kafka_mirror_maker_auth: "true"
 kafka_mirror_maker_username: "<KAFKA MIRROR MAKER USERNAME>"
 kafka_mirror_maker_password: "<KAFKA MIRROR MAKER PASSWORD>"

c. Save your changes to the override.yml file.

d. Apply the new configuration by running the following command:

accelo reconfig cluster


Configuring SSL for JMX RMI Port

To gather JMX data through an Secure Sockets Layer (SSL)-enabled RMI port, ensure the following procedure is adhered to, keeping in mind that all SSL certificates (truststores) must be identical across services with exposed JMX RMI ports.

  • Create the Override Configuration File: If the override.yml file doesn't exist within your cluster's workspace, create it:
touch $AcceloHome/work/<clusterName>/override.yml
  • Configure the override.yml File:

a. Open the override.yml file for editing:

vi $AcceloHome/work/<clusterName>/override.yml

b. Add the necessary SSL configuration for each specific service if not already present. Begin with the common configuration applicable to all services:

  • Common Configuration for All Services:
jmx:
 pulsejmx_use_ssl: true 
 pulsejmx_ssl_truststore: </PATH/TO/SERVICE/TRUSTORE/FILE>
 pulsejmx_ssl_truststore_password: <SERVICE TRUSTSTORE PASSWORD>
  • For Hive Metastore:
jmx:
 hive_metastore_ssl: "true"
  • For Hive Server:
jmx:
 hive_server_ssl: "true"
  • For Zeppelin:
jmx:
 zeppelin_master_ssl: "true"
  • For Zookeeper:
jmx:
 zookeeper_server_ssl: "true"
  • For Kafka Mirror Maker:
jmx:
 kafka_mirror_master_ssl: "true"

c. Save the changes to the override.yml file.

d. Apply the new SSL configurations by running:

accelo reconfig cluster