Offline and Manual Upgrade Procedure
The offline, manual upgrade procedure is suitable for upgrading small clusters. On large clusters, these steps are commonly performed on all nodes in parallel using scripts or remote management tools.
This procedure assumes that you have planned and prepared for the upgrade as described earlier. This procedure also assumes that the cluster meets prerequisites, including the correct JDK for the core version to which you are upgrading. For more information, see the JDK Support Matrix.
root
user or with
sudo.At the end of this procedure, you use yum update
or zypper
update
on RHEL/CentOS or SLES to upgrade the packages. Ignore any
warnings that certain packages are not installed. Packages will be upgraded
correctly, and no additional packages will be installed.
-
Notify stakeholders of the impending upgrade, and then stop accepting new jobs and applications. Terminate running jobs and applications by running
For YARN applications, use the following commands:maprcli
commands on appropriate nodes in the cluster.# yarn application -list # yarn application -kill <ApplicationId>
-
Disconnect NFS mounts. Unmount the MapR NFS share from all clients connected to it, including other nodes in the cluster. This allows all processes accessing the cluster via NFS to disconnect gracefully.
For example, if the cluster is mounted at/mapr
:# umount /mapr
-
Display the services on each node in the cluster, and stop ecosystem component services on the nodes.
# maprcli node list -columns hostname,csvc # maprcli node services -multi '[{ "name": "hue", "action": "stop"}, { "name": "oozie", "action": "stop"}, { "name": "hs2", "action": "stop"}]' -nodes <hostnames>
-
If a MapR POSIX client service is running, stop the service:
- For the mapr-loopbacknfs
service:
service mapr-loopbacknfs stop
- For the FUSE-based POSIX basic
service:
service mapr-posix-client-basic stop
- For the FUSE-based POSIX platinum
service:
service mapr-posix-client-platinum stop
- For the mapr-loopbacknfs
service:
-
Determine where CLDB and ZooKeeper services are installed.
-
Stop Warden on CLDB nodes first, and then on all remaining nodes.
-
Stop ZooKeeper on all nodes where it is installed.
-
Ensure that no stale cluster processes are running. If so, stop the processes:
ps -ef | grep mapr pkill -u mapr
-
Remove any existing patches:
-
Run one of the following commands to determine if a patch is installed.
- RHEL/CentOS and SLES:
rpm -qa mapr-patch
- Ubuntu:
dpkg -l | grep mapr-patch
- RHEL/CentOS and SLES:
-
If one or more patches are installed, run one of the following commands to remove the patches:
- RHEL/CentOS or SLES:
sudo rpm -e mapr-patch
- Ubuntu:
sudo apt-get -y remove mapr-patch
- RHEL/CentOS or SLES:
-
-
Upgrade core packages by installing the appropriate package key.
- RHEL/CentOS:
sudo rpm --import https://package.ezmeral.hpe.com/releases/pub/maprgpg.key
- SLES: No package key needed.
- Ubuntu:
wget -O - https://package.ezmeral.hpe.com/releases/pub/maprgpg.key | sudo apt-key add -
- RHEL/CentOS:
-
Upgrade these core component and MapR hadoop common packages on all nodes where packages exist.
Components to upgrade are:-
mapr-cldb
-
mapr-core
-
mapr-core-internal
-
mapr-fileserver
mapr-gateway
-
mapr-hadoop-core
-
mapr-historyserver
-
mapr-mapreduce2
-
mapr-nfs
-
mapr-nodemanager
-
mapr-resourcemanager
-
mapr-webserver
-
mapr-zookeeper
mapr-zk-internal
yum update
orzypper update
, do not use a wildcard such asmapr-*
to upgrade all MapR packages, which could erroneously include Hadoop ecosystem components such asmapr-hive
andmapr-pig
.- RHEL/CentOS:
yum update mapr-cldb mapr-core mapr-core-internal mapr-gateway mapr-fileserver mapr-hadoop-core mapr-historyserver mapr-mapreduce2 mapr-nfs mapr-nodemanager mapr-resourcemanager mapr-webserver mapr-zookeeper mapr-zk-internal
- SLES:
zypper update mapr-cldb mapr-compat-suse mapr-core mapr-core-internal mapr-gateway mapr-fileserver mapr-hadoop-core mapr-historyserver mapr-mapreduce2 mapr-nfs mapr-nodemanager mapr-resourcemanager mapr-webserver mapr-zookeeper mapr-zk-internal
- Ubuntu: First get a list of the MapR packages installed on the node,
and then run
apt-get install
on the listed packages.# dpkg --list | grep "mapr" | grep -P "^ii"| awk '{ print $2}'|tr "\n" " " # apt-get install <package-list>
-
-
Verify that packages were installed successfully on all nodes. Confirm that there were no errors during installation, and check that
For example:/opt/mapr/MapRBuildVersion
contains the expected value.# cat /opt/mapr/MapRBuildVersion 6.1.0.xxxxxxxxxxxxxx.GA