Introducing Apache Ambari

Apache Ambari is a web-based tool for provisioning, managing, and monitoring Apache Hadoop clusters. Ambari provides Restful APIs and a web-based management interface.

Ambari started as a sub-project of Hadoop but has now become a fully-fledged tool used by many Hadoop developers and administrators. The latest version available is Ambari 2.5.1

System requirements for Ambari:

Ambari can be installed only on UNIX based servers as of now. You would also need the following add-ons / packages.

  • xCode
  • JDK 7.0 (in case you use a previous version of Ambari it can be compiled using JDK 6.0). The future versions of Ambari>3.0 will require JDK 8.0
  • Python and Python setup tools
  • rpmbuild
  • gcc-c++ package
  • nodejs

Running the Ambari server:

Download the tarball and install it on the server.

Type command ambari-server setup. This will initialize the Ambari server.

To start /stop /restart/ check the status of the Ambari server use the following command:

ambari-server start/stop/status

To login to the Ambari server, open the URL: http://<<your-ambari-server>>:8080/. The default username and password is admin and admin respectively.

Changing the default port 8080 on the Ambari server:

To change the port of Ambari server , open the following file

/etc/ambari-server/conf/ambari.properties

search for the line that starts with client.api.port, it would be like:

client.api.port = 8080

change it to

#client.api.port = 8080

client.api.port = 8090 (We have taken a backup in case the Ambari is not happy using the new port).

Save the file and then restart the Ambari server.

sudo ambari-server stop

sudo ambari-server start

If you have a webserver such as Apache running, you can also do a proxypass and proxyreserve to transfer all the requests on a particular URL to the Ambari port.

Deploying Ambari client on the clusters:

  • Download and install the Ambari agent rpm on the clusters.
  • Edit the file /etc/ambari-agent/conf/ambari-agent.ini and in the location update the ip address / location of the ambari server
  • then start the Ambari agent using command ambari-agent start

Ports used by Ambari:

The Ambari uses the following default ports:

  • 8080-for Ambari web interface
  • 8440 – for connection between Ambari agents to Ambari server.
  • 8441 – for registration and providing the heartbeat from Ambari agents to Ambari server.

When the Ambari host does not connect to Ambari server, there are basic checkpoints that you can perform:

  • In case there is a firewall between the Ambari host and server, check that the port 8440 and 8441 are allowed over the firewall.
  • Check the iptables for the rules pertaining to Ambari ports
  • Disable selinux on both server and client and check if the host is able to connect to the server.
  • Check the logs available at location /var/lob/ambari-agent/ambari-agent.log to see the error messages.

Further information on Ambari is available on: https://ambari.apache.org/

Author

  • Anubhav Jha is experienced in web development and specializes in languages such as PHP, MySQL, Linux and Java. He specializes in geo-spatial databases, CRM designing and search algorithms. His technology interests span machine learning, NLP, Analytics and Big Data.