An introduction to Ambari Views 2.4 new feature- Remote cluster configuration
In the following article, Ambari Views Server is the Standalone Ambari Server used for hosting Views and Ambari Server is the Operational Ambari Server which manages a Hadoop Cluster
Before Ambari 2.4, when Ambari Views Servers are setup, the only way to configure views was to use ‘Custom Configuration’. In this method details had to be manually entered for several fields. For example, to configure Files View, all the entries as described in Ambari Views Documentaion for 2.2 had to be made.
This is made easier in Ambari 2.4 with ‘Remote Cluster Configuration’ . The remote cluster configuration is used to set up an Ambari Views Server to host views for a remote Ambari server, regardless of the cluster configuration.Once a remote cluster configuration is set, all it takes to create a new view is to select the 'Remote Cluster' option in 'Cluster configuration' and select a cluster name in create view wizard.
How to define a new remote cluster configuration?
Note: If remote Ambari server is either Kerberised or if SSL is enabled, please refer to the end of the article to complete the pre-requisite setup before continuing further.
To create a remote cluster configuration in Views server, go to ‘Manage Ambari’ under admin,
Click on ‘Remote Clusters’. Click on ‘Register Remote Cluster’.
Provide the following values to register a remote Ambari Server:
Cluster Name: This value will be used while creating views using the remote cluster configuration. This need not be same as the cluster name of remote cluster.
Ambari Cluster URL: This is the URL of the remote cluster to be configured.
http://<remote_server_url>:<port>/api/v1/clusters/<remote_cluster_name>;
For example,
http://prod.example.com:8080/api/v1/clusters/cl1
If the remote cluster has SSL enabled for Ambari, the url would start with https instead of http.
Cluster user: Ambari User in remote cluster with ‘Cluster Admin’ permission.
Password : Ambari login password for the above user.
Once Registered, the remote clusters would be listed as follows:
Once the remote cluster configuration is set, multiple instances of the any view are can be created.
Here is an example for creating a new Files view using the above remote cluster configuration:
Please take note of ‘Remote Cluster’ in the above screenshot. There is no need to enter any further details once this is selected. Optionally the 'Settings' section can be changed.
Once saved, click on 'Go to Instance' to go the the newly created Files view.
Screenshot of the working Files View:
Pre-requisite if Remote Ambari Server is either Kerberised or SSL is enabled
If the Remote Ambari server is kerberized, then the following steps need to be completed in the Ambari Views server:
- Copy the following from the Remote Ambari Server to the Ambari Views Server:
- /etc/krb5.conf
- Ambari server user keytab For example, copy /etc/security/keytabs/ambari.server.keytab
- Find the Ambari server's kerberos principal name from the above file, for example,
klist -kt /etc/security/keytabs/ambari.server.keytab
Keytab name: FILE:/etc/security/keytabs/ambari.server.keytab
KVNO Timestamp Principal
---- ------------------- ------------------------------------------------------
1 08/19/2016 08:14:54 ambari-server-cl1@EXAMPLE.COM
1 08/19/2016 08:14:54 ambari-server-cl1@EXAMPLE.COM
1 08/19/2016 08:14:54 ambari-server-cl1@EXAMPLE.COM
1 08/19/2016 08:14:54 ambari-server-cl1@EXAMPLE.COM
1 08/19/2016 08:14:54 ambari-server-cl1@EXAMPLE.COM
- Stop ambari-server process in Ambari Views Server
ambari-server stop
- Enable kerberos JAAS config for Ambari Views Server by running ambari-server setup-security and choosing option 3
ambari-server setup-security
Using python /usr/bin/python
Security setup options...
===========================================================================
Choose one of the following options:
[1] Enable HTTPS for Ambari server.
[2] Encrypt passwords stored in ambari.properties file.
[3] Setup Ambari kerberos JAAS configuration.
[4] Setup truststore.
[5] Import certificate to truststore.
===========================================================================
Enter choice, (1-5):3
Setting up Ambari kerberos JAAS configuration to access secured Hadoop daemons...
Enter ambari server's kerberos principal name (ambari@EXAMPLE.COM): ambari-server-cl1@EXAMPLE.COM
Enter keytab path for ambari server's kerberos principal: /etc/security/keytabs/ambari.server.keytab
Ambari Server 'setup-security' completed successfully.
- Start Ambari Server for the view server
ambari-server start
If the Remote Ambari Server has SSL enabled, then the following steps need to be completed in the View server:
- Copy truststore (all.jks), for example, '/etc/security/serverKeys/all.jks' of the remote Ambari server to Views server.
- Stop Ambari Server on Views Server
ambari-server stop
- Setup truststore for Ambari Views Server by running ambari-server security and choosing option 4
ambari-server setup-security
Using python /usr/bin/python
Security setup options...
===========================================================================
Choose one of the following options:
[1] Enable HTTPS for Ambari server.
[2] Encrypt passwords stored in ambari.properties file.
[3] Setup Ambari kerberos JAAS configuration.
[4] Setup truststore.
[5] Import certificate to truststore.
===========================================================================
Enter choice, (1-5):4
Do you want to configure a truststore [y/n] (y)? y
TrustStore type [jks/jceks/pkcs12] (jks):jks
Path to TrustStore file :/etc/security/serverKeys/all.jks
Password for TrustStore:
Re-enter password:
Ambari Server 'setup-security' completed successfully.
- Start Ambari server on the Views server
ambari-server start

