You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2016/10/28 13:03:59 UTC
[04/10] ambari git commit: AMBARI-18727. Add upgrade packs for
HDP-2.6 (aonishuk)
http://git-wip-us.apache.org/repos/asf/ambari/blob/61074c32/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.6.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.6.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.6.xml
new file mode 100644
index 0000000..adc1a29
--- /dev/null
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.6.xml
@@ -0,0 +1,1167 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<upgrade xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="upgrade-pack.xsd">
+ <target>2.6.*.*</target>
+ <target-stack>HDP-2.6</target-stack>
+ <skip-failures>false</skip-failures>
+ <skip-service-check-failures>false</skip-service-check-failures>
+ <type>ROLLING</type>
+ <prerequisite-checks>
+ <!-- List of additional pre-req checks to run in addition to the required pre-reqs -->
+ <check>org.apache.ambari.server.checks.HiveMultipleMetastoreCheck</check>
+ <check>org.apache.ambari.server.checks.SecondaryNamenodeDeletedCheck</check>
+ <check>org.apache.ambari.server.checks.ServicesMapReduceDistributedCacheCheck</check>
+ <check>org.apache.ambari.server.checks.ServicesNamenodeHighAvailabilityCheck</check>
+ <check>org.apache.ambari.server.checks.ServicesNamenodeTruncateCheck</check>
+ <check>org.apache.ambari.server.checks.ServicesTezDistributedCacheCheck</check>
+ <check>org.apache.ambari.server.checks.ServicesYarnWorkPreservingCheck</check>
+ <check>org.apache.ambari.server.checks.YarnRMHighAvailabilityCheck</check>
+ <check>org.apache.ambari.server.checks.YarnTimelineServerStatePreservingCheck</check>
+ <check>org.apache.ambari.server.checks.AtlasPresenceCheck</check>
+ <check>org.apache.ambari.server.checks.RangerAuditDbCheck</check>
+
+ <!-- Specific to HDP 2.5, Storm is not rolling -->
+ <check>org.apache.ambari.server.checks.StormShutdownWarning</check>
+
+ <configuration>
+ <!-- Configuration properties for all pre-reqs including required pre-reqs -->
+ <!--TODO: is it required? -->
+ <check-properties name="org.apache.ambari.server.checks.HiveDynamicServiceDiscoveryCheck">
+ <property name="min-failure-stack-version">HDP-2.3.0.0</property>
+ </check-properties>
+ </configuration>
+ </prerequisite-checks>
+
+ <!-- Instructs the upgrade pack how to build the configuration pack -->
+ <upgrade-path>
+ <intermediate-stack version="2.4"/>
+ <intermediate-stack version="2.5"/>
+ </upgrade-path>
+
+ <order>
+ <group xsi:type="cluster" name="PRE_CLUSTER" title="Prepare Upgrade">
+ <direction>UPGRADE</direction>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+
+ <execute-stage service="HDFS" component="NAMENODE" title="Pre Upgrade HDFS">
+ <task xsi:type="execute" hosts="master">
+ <script>scripts/namenode.py</script>
+ <function>prepare_rolling_upgrade</function>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="TEZ" component="TEZ_CLIENT" title="Check Tez Tarball">
+ <task xsi:type="execute" hosts="any">
+ <script>scripts/pre_upgrade.py</script>
+ <function>prepare</function>
+ </task>
+ </execute-stage>
+ </group>
+
+ <group xsi:type="cluster" name="PREPARE_BACKUPS" title="Prepare Backups">
+ <direction>UPGRADE</direction>
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+
+ <execute-stage service="HBASE" component="HBASE_MASTER" title="Pre Upgrade HBase Backup">
+ <task xsi:type="execute" hosts="master">
+ <script>scripts/hbase_upgrade.py</script>
+ <function>take_snapshot</function>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="HIVE" component="HIVE_METASTORE" title="Pre Upgrade Hive Backup">
+ <task xsi:type="manual">
+ <message>Before continuing, please backup the Hive Metastore database referenced by the Hive Metastore service(s) located on the following host(s): {{hosts.all}}.</message>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="OOZIE" component="OOZIE_SERVER" title="Pre Upgrade Oozie Backup">
+ <task xsi:type="manual">
+ <message>Before continuing, please backup the Oozie Server database referenced by the Oozie server located on {{hosts.all}}.</message>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="RANGER" component="RANGER_ADMIN" title="Pre Upgrade Ranger Backup">
+ <task xsi:type="manual">
+ <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database.
+ If audit database size is too large( > 3GB ) then follow the below instructions:
+ 1. Backup the audit table from audit database.
+ 2. Truncate audit table.
+ 3. Follow upgrade process and once completed then restore audit data to audit table.</message>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="RANGER_KMS" component="RANGER_KMS_SERVER" title="Pre Upgrade Ranger KMS Backup">
+ <task xsi:type="manual">
+ <message>Before continuing, please backup Ranger KMS database on the following host(s): {{hosts.all}}.</message>
+ </task>
+ </execute-stage>
+ </group>
+
+ <group name="ZOOKEEPER" title="ZooKeeper">
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service name="ZOOKEEPER">
+ <component>ZOOKEEPER_SERVER</component>
+ </service>
+ </group>
+
+ <group name="RANGER" title="Ranger">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service name="RANGER">
+ <component>RANGER_ADMIN</component>
+ <component>RANGER_USERSYNC</component>
+ </service>
+ </group>
+
+ <group name="RANGER_KMS" title="Ranger_KMS">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service name="RANGER_KMS">
+ <component>RANGER_KMS_SERVER</component>
+ </service>
+ </group>
+
+ <group name="KAFKA" title="Kafka">
+ <skippable>true</skippable>
+ <service name="KAFKA">
+ <component>KAFKA_BROKER</component>
+ </service>
+ </group>
+
+ <group name="HBASE" title="Update HBase Configuration">
+ <skippable>true</skippable>
+
+ <execute-stage service="HBASE" component="HBASE_MASTER" title="Update HBase Configuration">
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.HBaseEnvMaxDirectMemorySizeAction">
+ <summary>Update HBase Env Configuration</summary>
+ </task>
+ </execute-stage>
+
+ </group>
+
+ <!-- This group should exist for all RUs that cross a major stack version. -->
+ <group xsi:type="cluster" name="UPDATE_CLIENT_CONFIGS" title="Update Client Configs">
+ <direction>UPGRADE</direction>
+ <execute-stage service="TEZ" component="TEZ_CLIENT" title="Update tez.lib.uris">
+ <task xsi:type="configure" id="hdp_2_5_0_0_tez_client_adjust_tez_lib_uris_property"/>
+ </execute-stage>
+
+ <execute-stage service="TEZ" component="TEZ_CLIENT" title="Verify LZO codec path for Tez">
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath">
+ <summary>Verifying LZO codec path for Tez</summary>
+ </task>
+ </execute-stage>
+ </group>
+
+ <!-- This needs to be done for every Rolling Upgrade pack that changes configurations. -->
+ <group xsi:type="cluster" name="CONFIGURE_CLIENT_DEPENDENCIES" title="Write client configs">
+ <direction>UPGRADE</direction>
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+
+ <execute-stage service="MAPREDUCE2" component="MAPREDUCE2_CLIENT" title="Write Mapreduce2 Client configs">
+ <task xsi:type="execute">
+ <script>scripts/mapreduce2_client.py</script>
+ <function>stack_upgrade_save_new_config</function>
+ </task>
+ </execute-stage>
+ <execute-stage service="TEZ" component="TEZ_CLIENT" title="Write Tez Client configs">
+ <task xsi:type="execute">
+ <script>scripts/tez_client.py</script>
+ <function>stack_upgrade_save_new_config</function>
+ </task>
+ </execute-stage>
+ <execute-stage service="SPARK" component="SPARK_CLIENT" title="Write Spark Client configs">
+ <task xsi:type="execute">
+ <script>scripts/spark_client.py</script>
+ <function>stack_upgrade_save_new_config</function>
+ </task>
+ </execute-stage>
+ </group>
+
+ <!--
+ After processing this group, the user-specified Kerberos descriptor will be updated to work with
+ the new stack-level Kerberos descriptor.
+ -->
+ <group xsi:type="cluster" name="UPDATE_KERBEROS_DESCRIPTORS" title="Update Kerberos Descriptors">
+ <execute-stage title="Update the user-specified Kerberos descriptor" service="" component="">
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.UpgradeUserKerberosDescriptor"/>
+ </execute-stage>
+ </group>
+
+ <group name="CORE_MASTER" title="Core Masters">
+ <service-check>false</service-check>
+ <service name="HDFS">
+ <component>NAMENODE</component>
+ <component>JOURNALNODE</component>
+ <component>ZKFC</component>
+ </service>
+
+ <service name="MAPREDUCE2">
+ <component>HISTORYSERVER</component>
+ </service>
+
+ <service name="YARN">
+ <component>APP_TIMELINE_SERVER</component>
+ <component>RESOURCEMANAGER</component>
+ </service>
+
+ <service name="HBASE">
+ <component>HBASE_MASTER</component>
+ </service>
+ </group>
+
+ <group name="SERVICE_CHECK_1" title="All Service Checks" xsi:type="service-check">
+ <direction>UPGRADE</direction>
+ <skippable>true</skippable>
+ <priority>
+ <service>ZOOKEEPER</service>
+ <service>HDFS</service>
+ <service>YARN</service>
+ <service>MAPREDUCE2</service>
+ <service>HBASE</service>
+ </priority>
+ <exclude>
+ <service>AMBARI_METRICS</service>
+ <service>LOGSEARCH</service>
+ </exclude>
+ </group>
+
+ <group name="CORE_SLAVES" title="Core Slaves" xsi:type="colocated">
+ <service-check>false</service-check>
+ <skippable>true</skippable>
+ <service name="HDFS">
+ <component>DATANODE</component>
+ <component>NFS_GATEWAY</component>
+ </service>
+
+ <service name="HBASE">
+ <component>HBASE_REGIONSERVER</component>
+ <component>PHOENIX_QUERY_SERVER</component>
+ </service>
+
+ <service name="YARN">
+ <component>NODEMANAGER</component>
+ </service>
+
+ <batch>
+ <percent>20</percent>
+ <summary>Verification Required</summary>
+ <message>The initial batch of {{components}} hosts have been {{direction.past}}. You are advised to check the hosts and perform cluster/workload-specific tests against your cluster to ensure proper operation before proceeding with {{direction.text}} of the remaining services.</message>
+ </batch>
+ </group>
+
+ <group name="SERVICE_CHECK_2" title="All Service Checks" xsi:type="service-check">
+ <direction>UPGRADE</direction>
+ <skippable>true</skippable>
+ <priority>
+ <service>ZOOKEEPER</service>
+ <service>HDFS</service>
+ <service>YARN</service>
+ <service>HBASE</service>
+ </priority>
+ <exclude>
+ <service>AMBARI_METRICS</service>
+ <service>LOGSEARCH</service>
+ </exclude>
+ </group>
+
+ <group name="HIVE" title="Hive">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service name="HIVE">
+ <component>HIVE_METASTORE</component>
+ <component>HIVE_SERVER</component>
+ <component>WEBHCAT_SERVER</component>
+ </service>
+ </group>
+
+ <group name="SPARK" title="Spark">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service-check>false</service-check>
+ <service name="SPARK">
+ <component>SPARK_JOBHISTORYSERVER</component>
+ <component>SPARK_THRIFTSERVER</component>
+ </service>
+ </group>
+
+ <group name="SPARK_CLIENTS" title="Spark Clients">
+ <skippable>true</skippable>
+ <service name="SPARK">
+ <component>SPARK_CLIENT</component>
+ </service>
+ </group>
+
+ <group name="OOZIE" title="Oozie">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service-check>false</service-check>
+ <service name="OOZIE">
+ <component>OOZIE_SERVER</component>
+ </service>
+ </group>
+
+ <group name="OOZIE_CLIENTS" title="Oozie Clients">
+ <skippable>true</skippable>
+ <service name="OOZIE">
+ <component>OOZIE_CLIENT</component>
+ </service>
+ </group>
+
+ <group name="FALCON" title="Falcon">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service-check>false</service-check>
+ <service name="FALCON">
+ <component>FALCON_SERVER</component>
+ </service>
+ </group>
+
+ <group name="FALCON_CLIENTS" title="Falcon Clients">
+ <skippable>true</skippable>
+ <service name="FALCON">
+ <component>FALCON_CLIENT</component>
+ </service>
+ </group>
+
+ <group name="CLIENTS" title="Client Components">
+ <service-check>false</service-check>
+ <service name="ZOOKEEPER">
+ <component>ZOOKEEPER_CLIENT</component>
+ </service>
+
+ <service name="HDFS">
+ <component>HDFS_CLIENT</component>
+ </service>
+
+ <service name="YARN">
+ <component>YARN_CLIENT</component>
+ </service>
+
+ <service name="MAPREDUCE2">
+ <component>MAPREDUCE2_CLIENT</component>
+ </service>
+
+ <service name="TEZ">
+ <component>TEZ_CLIENT</component>
+ </service>
+
+ <service name="HBASE">
+ <component>HBASE_CLIENT</component>
+ </service>
+
+ <service name="PIG">
+ <component>PIG</component>
+ </service>
+
+ <service name="SQOOP">
+ <component>SQOOP</component>
+ </service>
+
+ <service name="MAHOUT">
+ <component>MAHOUT</component>
+ </service>
+
+ <service name="HIVE">
+ <component>HIVE_CLIENT</component>
+ <component>HCAT</component>
+ </service>
+ </group>
+
+ <group name="SERVICE_CHECK_3" title="All Service Checks" xsi:type="service-check">
+ <direction>UPGRADE</direction>
+ <skippable>true</skippable>
+ <priority>
+ <service>ZOOKEEPER</service>
+ <service>HDFS</service>
+ <service>YARN</service>
+ <service>HBASE</service>
+ </priority>
+ <exclude>
+ <service>AMBARI_METRICS</service>
+ <service>LOGSEARCH</service>
+ </exclude>
+ </group>
+
+ <group name="KNOX" title="Knox">
+ <skippable>true</skippable>
+ <service name="KNOX">
+ <component>KNOX_GATEWAY</component>
+ </service>
+ </group>
+
+ <!-- Storm package names changed causing an incompatibility between versions; we must
+ shut all daemons down before deleting ZooKeeper/local data. -->
+ <group xsi:type="cluster" name="STOP_STORM_WARNING" title="Deactivate Storm Topologies">
+ <direction>UPGRADE</direction>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <execute-stage service="STORM" component="NIMBUS" title="Deactivate Storm Topologies">
+ <task xsi:type="manual">
+ <message>Before continuing, please deactivate and kill any currently running topologies.</message>
+ </task>
+ </execute-stage>
+ </group>
+
+ <group xsi:type="stop" name="STOP_STORM" title="Stop Storm Services">
+ <direction>UPGRADE</direction>
+ <service-check>false</service-check>
+ <skippable>true</skippable>
+ <service name="STORM">
+ <component>NIMBUS</component>
+ <component>SUPERVISOR</component>
+ <component>STORM_UI_SERVER</component>
+ <component>DRPC_SERVER</component>
+ </service>
+ </group>
+
+ <group xsi:type="restart" name="RESTART_STORM" title="Restart Storm Services">
+ <skippable>true</skippable>
+ <service name="STORM">
+ <component>NIMBUS</component>
+ <component>SUPERVISOR</component>
+ <component>STORM_UI_SERVER</component>
+ <component>DRPC_SERVER</component>
+ </service>
+ </group>
+
+ <group xsi:type="stop" name="STOP_STORM" title="Stop Storm Services">
+ <direction>DOWNGRADE</direction>
+ <service-check>false</service-check>
+ <skippable>true</skippable>
+ <service name="STORM">
+ <component>NIMBUS</component>
+ <component>SUPERVISOR</component>
+ <component>STORM_UI_SERVER</component>
+ <component>DRPC_SERVER</component>
+ </service>
+ </group>
+
+ <group name="SLIDER" title="Slider">
+ <skippable>true</skippable>
+ <service name="SLIDER">
+ <component>SLIDER</component>
+ </service>
+ </group>
+
+ <group name="FLUME" title="Flume">
+ <skippable>true</skippable>
+ <service name="FLUME">
+ <component>FLUME_HANDLER</component>
+ </service>
+ </group>
+
+ <group name="ACCUMULO" title="Accumulo">
+ <skippable>true</skippable>
+ <service name="ACCUMULO">
+ <component>ACCUMULO_MASTER</component>
+ <component>ACCUMULO_TSERVER</component>
+ <component>ACCUMULO_MONITOR</component>
+ <component>ACCUMULO_GC</component>
+ <component>ACCUMULO_TRACER</component>
+ <component>ACCUMULO_CLIENT</component>
+ </service>
+ </group>
+
+ <group xsi:type="cluster" name="ALL_HOST_OPS" title="Finalize Hosts">
+ <execute-stage title="Update remaining HDP stack to {{version}}">
+ <task xsi:type="execute">
+ <script>scripts/ru_set_all.py</script>
+ <function>actionexecute</function>
+ </task>
+ </execute-stage>
+ </group>
+
+ <group xsi:type="cluster" name="FINALIZE_PRE_CHECK" title="Finalize {{direction.text.proper}} Pre-Check">
+ <direction>UPGRADE</direction>
+
+ <execute-stage title="Check Component Versions">
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.ComponentVersionCheckAction" />
+ </execute-stage>
+ </group>
+
+ <group xsi:type="cluster" name="POST_CLUSTER" title="Finalize {{direction.text.proper}}">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+
+ <execute-stage title="Confirm Finalize">
+ <direction>UPGRADE</direction>
+ <task xsi:type="manual">
+ <message>Please confirm you are ready to finalize.</message>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="RANGER" component="RANGER_ADMIN" title="Ranger Kerberos Keytab Check">
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.KerberosKeytabsAction">
+ <summary>Ranger Kerberos Keytab Check</summary>
+ <message>Please follow below steps to complete upgrade in kerberos environment</message>
+ <message>-- If keytabs are managed by Ambari, Perform Regenerate Keytabs for missing components to get Ranger keytabs and restart Ranger components.</message>
+ <message>-- If keytabs are managed manually, create the required ranger keytabs in the locations specified in ranger config and restart Ranger components.</message>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="KAFKA" component="KAFKA_BROKER" title="Kafka Property Removal">
+ <task xsi:type="manual">
+ <message>Kafka Brokers have been upgraded with version compatability.</message>
+ <message>Config property "inter.broker.protocol.version" should be removed at your convenience.</message>
+ <message>Config property "log.message.format.version" should be removed when all clients have been upgraded.</message>
+ </task>
+ </execute-stage>
+
+ <execute-stage service="HDFS" component="NAMENODE" title="Execute HDFS Finalize">
+ <task xsi:type="execute" hosts="master">
+ <script>scripts/namenode.py</script>
+ <function>finalize_rolling_upgrade</function>
+ </task>
+ </execute-stage>
+
+ <execute-stage title="Save Cluster State" service="" component="">
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.FinalizeUpgradeAction" />
+ </execute-stage>
+
+ </group>
+ </order>
+
+ <processing>
+ <service name="ZOOKEEPER">
+ <component name="ZOOKEEPER_SERVER">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="ZOOKEEPER_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="RANGER">
+ <component name="RANGER_ADMIN">
+ <pre-upgrade>
+ <task xsi:type="execute" hosts="all">
+ <summary>Stop Ranger Admin</summary>
+ <script>scripts/ranger_admin.py</script>
+ <function>stop</function>
+ </task>
+
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_flag" />
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_admin_properties" />
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_audit_db_ranger_admin_site" />
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_sso_property" />
+ <task xsi:type="configure" id="hdp_2_5_0_0_set_external_solrCloud_flag"/>
+
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.RangerKerberosConfigCalculation">
+ <summary>Calculating Ranger Properties</summary>
+ </task>
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.RangerWebAlertConfigAction">
+ <summary>Configuring Ranger Alerts</summary>
+ </task>
+
+ <task xsi:type="execute" hosts="all">
+ <script>scripts/ranger_admin.py</script>
+ <function>set_pre_start</function>
+ </task>
+
+ <task xsi:type="execute" hosts="any">
+ <summary>Upgrading Ranger database schema</summary>
+ <script>scripts/ranger_admin.py</script>
+ <function>setup_ranger_database</function>
+ </task>
+
+ <task xsi:type="configure_function" hosts="all" />
+
+ <task xsi:type="execute" hosts="any">
+ <summary>Applying Ranger java patches</summary>
+ <script>scripts/ranger_admin.py</script>
+ <function>setup_ranger_java_patches</function>
+ </task>
+ </pre-upgrade>
+
+ <pre-downgrade/> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+
+ </component>
+
+ <component name="RANGER_USERSYNC">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="RANGER_KMS">
+ <component name="RANGER_KMS_SERVER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_kms_audit_db" />
+
+ <task xsi:type="execute" hosts="any" sequential="true">
+ <summary>Upgrading Ranger KMS database schema</summary>
+ <script>scripts/kms_server.py</script>
+ <function>setup_ranger_kms_database</function>
+ </task>
+ </pre-upgrade>
+
+ <pre-downgrade>
+ <task xsi:type="execute" hosts="any" sequential="true">
+ <summary>Downgrading Ranger KMS database schema</summary>
+ <script>scripts/kms_server.py</script>
+ <function>setup_ranger_kms_database</function>
+ </task>
+ </pre-downgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="HDFS">
+ <component name="NAMENODE">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_4_0_0_namenode_ha_adjustments"/>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hdfs_audit_db" />
+ </pre-upgrade>
+
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="DATANODE">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="NFS_GATEWAY">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="HDFS_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="JOURNALNODE">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="ZKFC">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="MAPREDUCE2">
+ <component name="HISTORYSERVER">
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="MAPREDUCE2_CLIENT">
+ <pre-upgrade>
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath">
+ <summary>Verifying LZO codec path for mapreduce</summary>
+ </task>
+ </pre-upgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="YARN">
+ <component name="APP_TIMELINE_SERVER">
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="RESOURCEMANAGER">
+ <pre-upgrade>
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.SparkShufflePropertyConfig">
+ <summary>Calculating Yarn Properties for Spark Shuffle</summary>
+ </task>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_yarn_audit_db" />
+ </pre-upgrade>
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="NODEMANAGER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_5_0_0_add_spark2_yarn_shuffle"/>
+ </pre-upgrade>
+
+ <pre-downgrade/>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="YARN_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="HBASE">
+ <component name="HBASE_MASTER">
+ <pre-upgrade>
+ <!-- These HBASE configs changed in HDP 2.3.4.0, but Ambari can't distinguish HDP 2.3.2.0 vs HDP 2.3.4.0, so easier to always do them. -->
+ <task xsi:type="configure" id="hdp_2_4_0_0_hbase_remove_local_indexing"/>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hbase_audit_db" />
+ </pre-upgrade>
+
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="HBASE_REGIONSERVER">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="HBASE_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="PHOENIX_QUERY_SERVER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="TEZ">
+ <component name="TEZ_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="PIG">
+ <component name="PIG">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="MAHOUT">
+ <component name="MAHOUT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="SQOOP">
+ <component name="SQOOP">
+ <pre-upgrade>
+ <!-- Remove Atlas configs that were incorrectly added to sqoop-site instead of Atlas' application.properties. -->
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_sqoop_atlas_configs" />
+
+ <!-- If cluster is Kerberized, add configs to sqoop-atlas-application.properties,
+ which will be written to the local file system if Atlas is present. -->
+ <task xsi:type="configure" id="hdp_2_5_0_0_add_sqoop_atlas_security_configs" />
+ </pre-upgrade>
+
+ <pre-downgrade/> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="HIVE">
+ <component name="HIVE_METASTORE">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="HIVE_SERVER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_4_0_0_hive_server_configure_authentication"/>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_hive_audit_db" />
+
+ <!-- Remove Atlas configs that were incorrectly added to hive-site instead of Atlas' application.properties. -->
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_hive_atlas_configs" />
+
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.HiveEnvClasspathAction">
+ <summary>Update hive-env content</summary>
+ </task>
+ </pre-upgrade>
+
+ <pre-downgrade/>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="WEBHCAT_SERVER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_5_0_0_webhcat_server_update_configuration_paths"/>
+ </pre-upgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="HIVE_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="HCAT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="SLIDER">
+ <component name="SLIDER">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="SPARK">
+ <component name="SPARK_JOBHISTORYSERVER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_4_0_0_spark_jobhistoryserver"/>
+ <task xsi:type="configure" id="hdp_2_4_0_0_spark_java_opts"/>
+ </pre-upgrade>
+
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ <component name="SPARK_THRIFTSERVER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_4_0_0_spark_thriftserver"/>
+ <task xsi:type="configure" id="hdp_2_4_0_0_spark_java_opts"/>
+ </pre-upgrade>
+
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="SPARK_CLIENT">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_4_0_0_remove_spark_properties_extraJavaOptions"/>
+ <task xsi:type="configure" id="hdp_2_4_0_0_spark_java_opts"/>
+ </pre-upgrade>
+
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="OOZIE">
+ <component name="OOZIE_SERVER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_4_0_0_oozie_remove_service_classes" />
+
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.OozieConfigCalculation">
+ <summary>Adjusting Oozie properties</summary>
+ </task>
+
+ <task xsi:type="execute" hosts="all" sequential="true">
+ <summary>Shut down all Oozie servers</summary>
+ <script>scripts/oozie_server.py</script>
+ <function>stop</function>
+ </task>
+
+ <!-- It is extremely important that both of these tasks run on the exact same host. Hence, pick the first alphabetically. -->
+ <task xsi:type="configure_function" hosts="first" />
+
+ <task xsi:type="execute" hosts="first" sequential="true">
+ <summary>Upgrading the Oozie database and creating a new sharelib</summary>
+ <script>scripts/oozie_server_upgrade.py</script>
+ <function>upgrade_oozie_database_and_sharelib</function>
+ </task>
+ <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.FixOozieAdminUsers">
+ <summary>Fixing Oozie admin users</summary>
+ </task>
+ </pre-upgrade>
+
+ <pre-downgrade>
+ <task xsi:type="execute" hosts="all" sequential="true">
+ <summary>Shut down all Oozie servers</summary>
+ <script>scripts/oozie_server.py</script>
+ <function>stop</function>
+ </task>
+
+ <task xsi:type="execute" hosts="any" sequential="true">
+ <summary>Create a new sharelib</summary>
+ <script>scripts/oozie_server_upgrade.py</script>
+ <function>create_sharelib</function>
+ </task>
+ </pre-downgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="OOZIE_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="FALCON">
+ <component name="FALCON_SERVER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_5_0_0_falcon_server_adjust_services_property"/>
+ </pre-upgrade>
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ <component name="FALCON_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="KAFKA">
+ <component name="KAFKA_BROKER">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_kafka_audit_db" />
+ <task xsi:type="configure" id="hdp_2_5_0_0_add_protocol_compatibility" />
+ </pre-upgrade>
+
+ <pre-downgrade/>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="KNOX">
+ <component name="KNOX_GATEWAY">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_knox_audit_db" />
+ </pre-upgrade>
+
+ <pre-downgrade /> <!-- no-op to prevent config changes on downgrade -->
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="STORM">
+ <component name="NIMBUS">
+ <pre-upgrade>
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_ranger_storm_audit_db" />
+ <task xsi:type="configure" id="hdp_2_5_0_0_upgrade_storm_1.0"/>
+
+ <!-- Remove Atlas configs that were incorrectly added to storm-site instead of Atlas' application.properties. -->
+ <task xsi:type="configure" id="hdp_2_5_0_0_remove_storm_atlas_configs" />
+
+ <task xsi:type="configure" id="hdp_2_3_0_0_remove_empty_storm_topology_submission_notifier_plugin_class"/>
+
+ <task xsi:type="configure" id="increase_storm_zookeeper_timeouts"/>
+
+ <task xsi:type="execute" hosts="any">
+ <summary>Removing Storm data from ZooKeeper</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_zookeeper_data</function>
+ </task>
+
+ <task xsi:type="execute">
+ <summary>Removing local Storm data</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_local_data</function>
+ </task>
+ <task xsi:type="configure" id="hdp_2_5_0_0_add_storm_security_configs" />
+ </pre-upgrade>
+
+ <pre-downgrade>
+ <task xsi:type="execute" hosts="any">
+ <summary>Removing Storm data from ZooKeeper</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_zookeeper_data</function>
+ </task>
+
+ <task xsi:type="execute">
+ <summary>Removing local Storm data</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_local_data</function>
+ </task>
+ </pre-downgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="SUPERVISOR">
+ <pre-upgrade>
+ <task xsi:type="execute">
+ <summary>Removing local Storm data</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_local_data</function>
+ </task>
+ </pre-upgrade>
+
+ <pre-downgrade>
+ <task xsi:type="execute">
+ <summary>Removing local Storm data</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_local_data</function>
+ </task>
+ </pre-downgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="STORM_UI_SERVER">
+ <pre-upgrade>
+ <task xsi:type="execute">
+ <summary>Removing local Storm data</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_local_data</function>
+ </task>
+ </pre-upgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+
+ <component name="DRPC_SERVER">
+ <pre-upgrade>
+ <task xsi:type="execute">
+ <summary>Removing local Storm data</summary>
+ <script>scripts/storm_upgrade.py</script>
+ <function>delete_storm_local_data</function>
+ </task>
+ </pre-upgrade>
+
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+
+ <post-upgrade>
+ <task xsi:type="manual">
+ <message>Please rebuild your topology using the new Storm version dependencies and resubmit it using the newly created jar.</message>
+ </task>
+ </post-upgrade>
+ </component>
+ </service>
+
+ <service name="FLUME">
+ <component name="FLUME_HANDLER">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+
+ <service name="ACCUMULO">
+ <component name="ACCUMULO_MASTER">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_MONITOR">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_GC">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_TRACER">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_TSERVER">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_CLIENT">
+ <upgrade>
+ <task xsi:type="restart-task" />
+ </upgrade>
+ </component>
+ </service>
+ </processing>
+</upgrade>