Configure Pulse for JMX with Basic Authentication

This page describes how to configure Pulse to collect JMX metrics from Hadoop services through RMI ports secured with basic authentication.

Note Ensure to encrypt all JMX configurations using the accelo admin encrypt command.


Create override File

Navigate to your cluster's directory and create the override.yml file (if it doesn't exist).

touch $AcceloHome_work_<clusterName>_override.yml

Configure override.yml File

  1. Open the override.yml file using a text editor:

vi $AcceloHome_work_<clusterName>_override.yml
  1. Add the following configurations for the respective services, if they're not already included:

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>"

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>"

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>"

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>"

Zookeeper

jmx: zookeeper_server_auth: "true" zookeeper_server_username: "<ZOOKEEPER SERVER USERNAME>"" zookeeper_server_password: "<ZOOKEEPER SERVER PASSWORD>"" zookeeper_server_port: "<ZOOKEEPER SERVER PORT>"

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>"

Ranger

Ranger Admin

jmx: ranger_admin_port: "33333" ranger_admin_auth: "false" ranger_admin_ssl: "false" ranger_admin_username: "<RANGER ADMIN USERNAME>" ranger_admin_password: "<RANGER ADMIN PASSWORD ENCRYPTED>"

Ranger User Sync

jmx: ranger_usersync_port: "33334" ranger_usersync_auth: "true" ranger_usersync_ssl: "false" ranger_usersync_username: "<RANGER USERSYNC USERNAME>" ranger_usersync_password: "<RANGER USERSYNC PASSWORD ENCRYPTED>"

Ranger Tag sync

jmx: ranger_tagsync_port: "33335" ranger_tagsync_auth: "true" ranger_tagsync_ssl: "false" ranger_tagsync_username: "<RANGER TAG SYNC USERNAME>" ranger_tagsync_password: "<RANGER TAG SYNC PASSWORD ENCRYPTED>"

Ranger KMS

jmx: ranger_kms_server_port: "33336" ranger_kms_server_auth: "true" ranger_kms_server_ssl: "false" ranger_kms_server_username: "<RANGER KMS USERNAME>" ranger_kms_server_password: "<RANGER KMS PASSWORD ENCRYPTED>"

Apply the Changes

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

  2. Run the following command to apply the changes:

accelo reconfig cluster