This post describes how an upgrade from Ambari 2.4.1.0 to 2.5 has been done. The reason for that is to be able to further upgrade HDP to 2.6. Upgrade of HDP from 2.5 to 2.6 is described here.
Ambari Server is installed on Ubuntu 14.04. The same OS is used across the whole HDP cluster.
The following services are upgraded using this blog post:
- Ambari Server
- Ambari Agent
- Ambari Infra
- Ambari Metrics
- Ambari Collector
- Grafana
Backup
It is important to do a database backup of the Ambari database. Metadata for my Ambari is stored in MySql database.
Create a directory for backup
mkdir /home/ubuntu/ambari24-backup
Backup the database (enter password when prompted)
mysqldump -u ambari -p ambari_db > /home/ubuntu/ambari24-backup/ambari.mysql
Make a safe copy of the Ambari Server configuration file
sudo cp /etc/ambari-server/conf/ambari.properties ambari24-backup/
Prepare for installation of Ambari Agent and Server
Stop Ambari Metrics from the Ambari Web UI
Stop Ambari Server on Ambari Server instance
sudo ambari-server stop
Stop all Ambari Agents on all instances in the cluster where it is running
sudo ambari-agent stop
On all instances running Ambari Server or Ambari Agent do the following
sudo mv /etc/apt/sources.list.d/ambari.list db-backups/ sudo wget -nv http://public-repo-1.hortonworks.com/ambari/ubuntu14/2.x/updates/2.5.0.3/ambari.list -O /etc/apt/sources.list.d/ambari.list
Upgrade Ambari Server
sudo apt-get clean all sudo apt-get update -y sudo apt-cache show ambari-server | grep Version
The last command should output something like this
Version: 2.5.0.3-7 Version: 2.4.1.0-22
This means version 2.5 is available, Ambari Server can be installed
Install Ambari Server
sudo apt-get install ambari-server
Some lines from the output
The following packages will be upgraded: ambari-server Unpacking ambari-server (2.5.0.3-7) over (2.4.1.0-22) ... Setting up ambari-server (2.5.0.3-7) ...
Confirm that there is only one ambari server jar file
ll /usr/lib/ambari-server/ambari-server*jar
Output
-rw-r--r-- 1 root root 5806966 Apr 2 23:33 /usr/lib/ambari-server/ambari-server-2.5.0.3.7.jar
Install Ambari Agent
On each host running Ambari agent
sudo apt-get update sudo apt-get install ambari-agent
Check if the Ambari agent install was a success
dpkg -l ambari-agent
Output from one node
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-============================-==============-===============-================= ii ambari-agent 2.5.0.3-7 amd64 Ambari Agent
Upgrade Ambari DB schema
On Ambari Server instance, run the following command
sudo ambari-server upgrade
The following question shows up. The backup has been done at the beginning. Type y and press Enter.
Ambari Server configured for MySQL. Confirm you have made a backup of the Ambari Server database [y/n] (y)?
Output
INFO: Upgrading database schema INFO: Return code from schema upgrade command, retcode = 0 INFO: Schema upgrade completed Adjusting ambari-server permissions and ownership... Ambari Server 'upgrade' completed successfully.
Start the services
Start Ambari Server
sudo ambari-server start
Start Ambari Agent on all instances where it is installed
sudo ambari-agent start
Post-installation tasks
Hive and Oozie (which I have installed in HDP) are using MySql, so I have to put the jar file in place
sudo ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar