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/