Configure the Cluster

After deploying all the databases, core, and add-on services, you can configure the cluster using the following command and steps.

  1. Create a JSON configuration file named inputs.json by copying the content below.
Bash
Copy

Replace the placeholder values with actual values specific to your Kubernetes deployment.

  1. In case LDAP-based login is required, copy the following file, update it with the appropriate values, and save it as ldap.conf.
Bash
Copy
  1. Upload the krb5.conf and cacerts files (if applicable for the cluster).

Kerberos: Ensure the krb5.conf file is correctly configured.

Bash
Copy

Cacerts: Ensure the cacerts file is correctly configured.

Bash
Copy
  1. Upload the LDAP configuration file.
Bash
Copy
  1. Configure the cluster API.
Bash
Copy
  1. Push the configuration.
Bash
Copy
  1. Configure the Alert notifications.
Bash
Copy

If you want to update an existing configuration, use the Fetch Config API to retrieve the current configuration stored in MongoDB.

Bash
Copy

The response contains the current alert configuration stored in the database. If no configuration exists in MongoDB, a default configuration will be returned in the response.

  1. Configure the Actions notifications.
Bash
Copy

If you want to update an existing configuration, use the Fetch Config API to retrieve the current configuration stored in MongoDB.

Bash
Copy

The response contains the current action configuration stored in the database. If no configuration exists in MongoDB, a default configuration will be returned in the response.

Configure Cluster Endpoint API

This API is used to configure a cluster within Pulse by submitting the required cluster-specific details.

Endpoint: /api/v1/mserver/config/cluster

Request Type: POST or PUT (based on implementation)

Required Inputs (JSON Request Body): The JSON payload must include the following fields:

Bash
Copy
FieldDescription
standAloneDistroTypeAccepted values: Spark, Nifi, Kafka. Only used for standalone cluster configuration.
isEdgeNodeAccepted values: true, false. Set to false by default. (Revamp needed)
standAloneComponentsAccepted values: Spark, Nifi, Kafka. For standalone deployments.
clusterTypeAccepted values: Ambari, Cloudera, Stand-Alone, Custom, None.
clusterURLFull URL of Ambari or Cloudera Manager (e.g., http://hostname:port).
usernameUsername for Ambari or Cloudera Manager.
passwordPassword for Ambari or Cloudera Manager.
clusterNameUsed to create configs, DB names, directories, and files.
clusterDisplayNameName shown in the UI.
sparkVersion, spark2Version, spark3VersionVersions of Spark in use.
kafkaVersion, hBaseVersion, hiveVersionVersions of Kafka, HBase, and Hive.
sparkHistoryHDFSPath, spark2HistoryHDFSPath, spark3HistoryHDFSPathHDFS paths for Spark history logs.
hiveMetaStoreDBName, hiveMetaStoreDBURI, hiveMetaStoreDBUsername, hiveMetaStoreDBPasswordHive Metastore DB connection details.
oozieDBName, oozieDBURL, oozieDBUsername, oozieDBPassword, oozieDBTimezone –Oozie DB connection details.
isKerberosEnabledEnable or disable Kerberos for the cluster.
kerberosRealmKerberos realm name (e.g., EXAMPLE.COM).
kerberosKeytabUsernameUsername used in keytab.
kerbereosPrincipalKerberos principal name (typo in field, should be kerberosPrincipal).
isParcelBasedDeploymentAlways set true for K8s deployment.
SSHKeyAlgoSSH key algorithm (e.g., rsa, ecdsa).
httpsEnabledInClusterEnable or disable HTTPS for services.
sshUserSSH user for accessing nodes.
hmsJMXPort, hs2JMXPort, zkJMXPort, zmJMXPortJMX ports for Hive, Zookeeper, etc.
schemaRegistryJMXPort, kafkaJMXPort, mm2JMXPort, kafkaConnectJMXPort, cruiseControlJMXPortJMX ports for Kafka ecosystem components.
kafka3BrokerPort, Kafka3JMXPort, kafka3LogDirsPorts and log directories for Kafka 3.
kafkaSABootstrapServerKafka bootstrap URL for standalone setups.
kraftControllerJMXPort, kafka3ConnectJMXPort, cruiseControl3JMXPort, kafkaMirrorMaker3JMXPortKafka 3 JMX ports.
rangerAdminJMXPort, rangerUserSyncJMXPort, rangerTagSyncJMXPort, rangerKMSJMXPortJMX ports for Ranger components.
trinoCoordinatorJMXPort, trinoWorkerJMXPortJMX ports for Trino components.
installKapxyEnable Kapxy (Kafka monitoring agent).
enableNTPStatsEnable NTP synchronization stats.
enableLogSearchEnable Log Search service.
enableImpalaAgentEnable Impala metric collection agent.
isHiveServer2InteractiveKerberizedWhether HiveServer2 LLAP is Kerberized.
isImpalaKerberizedWhether Impala is Kerberized.
zkEnabled, nifiZKEnabledEnable Zookeeper for Spark/Nifi standalone components.
mm2EnabledEnable MirrorMaker2 monitoring.
nifiRegistryInstalledWhether NiFi Registry is installed.
nifiRegistryURLURL of NiFi Registry (if installed).
mm2NodesNodes involved in MM2 replication.
kafkaConnectEnabledEnable Kafka Connect monitoring.
cruiseControlEnabled, cruiseControl3EnabledEnable Cruise Control (Kafka 2/3).
sparkOnK8sEnable Spark observability on Kubernetes. Whether Spark is running on Kubernetes instead of YARN.
sASparkHistoryURLSpark history server URL for standalone setups.

Reconfigure the Cluster

The Reconfig Cluster action is used to apply changes made to the cluster configuration after the initial setup.

You can use the following command to reconfigure the cluster.

Bash
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard