AMBARI-14498. Create RU/EU upgrade pack for HDP-2.4 (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2feea0bd Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2feea0bd Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2feea0bd Branch: refs/heads/trunk Commit: 2feea0bd878fa2cce0f4c4e00c4c757b07352632 Parents: 52ca9da Author: Lisnichenko Dmitro <[email protected]> Authored: Thu Dec 31 18:01:41 2015 +0200 Committer: Lisnichenko Dmitro <[email protected]> Committed: Thu Dec 31 18:02:41 2015 +0200 ---------------------------------------------------------------------- .../HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml | 1 - .../HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml | 960 +++++++++++++++++ .../stacks/HDP/2.3/upgrades/upgrade-2.3.xml | 6 + .../stacks/HDP/2.3/upgrades/upgrade-2.4.xml | 847 +++++++++++++++ .../stacks/HDP/2.4/upgrades/config-upgrade.xml | 92 ++ .../HDP/2.4/upgrades/nonrolling-upgrade-2.4.xml | 1001 ++++++++++++++++++ .../stacks/HDP/2.4/upgrades/upgrade-2.4.xml | 808 ++++++++++++++ 7 files changed, 3714 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/2feea0bd/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml index 3b45149..ba2578b 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml @@ -146,7 +146,6 @@ </task> </execute-stage> - <!--TODO(dlysnichenko): This step is missing in 2.3->2.3+ RU pack --> <execute-stage service="KNOX" component="KNOX_GATEWAY" title="Backup Knox Data"> <task xsi:type="manual"> <message>Before continuing, please backup the Knox data. E.g., "cp -RL /usr/hdp/current/knox-server/data/* ~/knox_backup/" on the following host(s): {{hosts.all}}.</message> http://git-wip-us.apache.org/repos/asf/ambari/blob/2feea0bd/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml new file mode 100644 index 0000000..ab91379 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.4.xml @@ -0,0 +1,960 @@ +<?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"> + <target>2.4.*.*</target> + <target-stack>HDP-2.4</target-stack> + <type>NON_ROLLING</type> + <prerequisite-checks> + <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> + <order> + <group xsi:type="cluster" name="PRE_CLUSTER" title="Prepare Upgrade"> + <direction>UPGRADE</direction> + + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + + <execute-stage service="YARN" component="RESOURCEMANAGER" title="Stop YARN Queues"> + <task xsi:type="manual"> + <message>Before continuing, please stop all YARN queues. If yarn-site's yarn.resourcemanager.work-preserving-recovery.enabled is set to true, then you can skip this step since the clients will retry on their own.</message> + </task> + </execute-stage> + + <execute-stage service="SLIDER" component="SLIDER" title="Stop Long Running Applications on Slider"> + <task xsi:type="manual"> + <message>Before continuing, please stop all long-running applications deployed using Slider. E.g., su - yarn "/usr/hdp/current/slider-client/bin/slider stop <app_name>"</message> + </task> + </execute-stage> + + <execute-stage service="STORM" component="NIMBUS" title="Stop Storm Topologies"> + <task xsi:type="manual"> + <message>Before continuing, please deactivate and kill any currently running topologies.</message> + </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="stop" name="STOP_HIGH_LEVEL_SERVICE_COMPONENTS" title="Stop Components for High-Level Services"> + <direction>UPGRADE</direction> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <service-check>false</service-check> + <parallel-scheduler/> + + <service name="FLUME"> + <component>FLUME_HANDLER</component> + </service> + + <service name="ACCUMULO"> + <component>ACCUMULO_TRACER</component> + <component>ACCUMULO_GC</component> + <component>ACCUMULO_TSERVER</component> + <component>ACCUMULO_MONITOR</component> + <component>ACCUMULO_MASTER</component> + </service> + + <service name="STORM"> + <component>DRPC_SERVER</component> + <component>STORM_UI_SERVER</component> + <component>SUPERVISOR</component> + <component>NIMBUS</component> + </service> + + <service name="KNOX"> + <component>KNOX_GATEWAY</component> + </service> + + <service name="KAFKA"> + <component>KAFKA_BROKER</component> + </service> + + <service name="FALCON"> + <component>FALCON_SERVER</component> + </service> + + <service name="OOZIE"> + <component>OOZIE_SERVER</component> + </service> + + <service name="SPARK"> + <component>SPARK_JOBHISTORYSERVER</component> + </service> + + <service name="HIVE"> + <component>WEBHCAT_SERVER</component> + <component>HIVE_SERVER</component> + <component>HIVE_METASTORE</component> + </service> + + <service name="YARN"> + <component>NODEMANAGER</component> + <component>RESOURCEMANAGER</component> + <component>APP_TIMELINE_SERVER</component> + </service> + + <service name="MAPREDUCE2"> + <component>HISTORYSERVER</component> + </service> + </group> + + <group xsi:type="cluster" name="Backups" title="Perform Backups"> + <direction>UPGRADE</direction> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + + <execute-stage service="OOZIE" component="OOZIE_SERVER" title="Backup Oozie Database"> + <task xsi:type="manual"> + <message>Before continuing, please backup the Oozie Server database on {{hosts.all}}.</message> + </task> + </execute-stage> + + <execute-stage service="HIVE" component="HIVE_METASTORE" title="Backup Hive Metastore"> + <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="KNOX" component="KNOX_GATEWAY" title="Backup Knox Data"> + <task xsi:type="manual"> + <message>Before continuing, please backup the Knox data. E.g., "cp -RL /var/lib/knox/data/* ~/knox_backup/" on the following host(s): {{hosts.all}}.</message> + </task> + </execute-stage> + + <execute-stage service="HBASE" component="HBASE_MASTER" title="Snapshot HBASE"> + <task xsi:type="execute" hosts="master"> + <script>scripts/hbase_upgrade.py</script> + <function>take_snapshot</function> + </task> + </execute-stage> + + <execute-stage service="HDFS" component="NAMENODE" title="Prepare HDFS"> + <task xsi:type="execute" hosts="master"> + <script>scripts/namenode.py</script> + <function>prepare_express_upgrade</function> + </task> + </execute-stage> + + <execute-stage service="RANGER" component="RANGER_ADMIN" title="Backup Ranger Database"> + <task xsi:type="manual"> + <message>Before continuing, please backup the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}.</message> + </task> + </execute-stage> + </group> + + <group xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core Services"> + <direction>UPGRADE</direction> + <skippable>true</skippable> + <service-check>false</service-check> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + + <service name="HBASE"> + <component>HBASE_REGIONSERVER</component> + <component>HBASE_MASTER</component> + </service> + + <service name="HDFS"> + <component>DATANODE</component> + <component>NAMENODE</component> + <component>SECONDARY_NAMENODE</component> + <component>ZKFC</component> + <component>JOURNALNODE</component> + </service> + + <service name="RANGER"> + <component>RANGER_USERSYNC</component> + <component>RANGER_ADMIN</component> + </service> + + <service name="ZOOKEEPER"> + <component>ZOOKEEPER_SERVER</component> + </service> + </group> + + <group xsi:type="cluster" name="Restore Backups" title="Restore Backups"> + <direction>DOWNGRADE</direction> + <skippable>true</skippable> + + <!-- If the user attempts a downgrade after this point, they will need to restore backups + before starting any of the services. --> + + <execute-stage service="OOZIE" component="OOZIE_SERVER" title="Restore Oozie Database"> + <task xsi:type="manual"> + <message>Before continuing, please restore the Oozie Server database on {{hosts.all}}.</message> + </task> + </execute-stage> + + <execute-stage service="HIVE" component="HIVE_METASTORE" title="Restore Hive Metastore"> + <task xsi:type="manual"> + <message>Before continuing, please restore the Hive Metastore database located on the following host(s): {{hosts.all}}.</message> + </task> + </execute-stage> + + <execute-stage service="KNOX" component="KNOX_GATEWAY" title="Restore Knox Data"> + <task xsi:type="manual"> + <message>Before continuing, please restore the Knox data. E.g., "cp -RL ~/knox_backup/* /var/lib/knox/data/" on the following host(s): {{hosts.all}}.</message> + </task> + </execute-stage> + + <execute-stage service="RANGER" component="RANGER_ADMIN" title="Restore Ranger Database"> + <task xsi:type="manual"> + <message>Before continuing, please restore the Ranger Admin database and Ranger Audit database on the following host(s): {{hosts.all}}.</message> + </task> + </execute-stage> + </group> + + <!-- After processing this group, will change the effective Stack of the UpgradeContext object. --> + <group xsi:type="update-stack" name="UPDATE_DESIRED_STACK_ID" title="Update Target Stack"> + <execute-stage title="Update Target Stack" service="" component=""> + <task xsi:type="server_action" class="org.apache.ambari.server.serveraction.upgrades.UpdateDesiredStackAction"> + </task> + </execute-stage> + </group> + + <group xsi:type="cluster" name="Upgrade service configs" title="Upgrade service configs"> + <direction>UPGRADE</direction> <!-- prevent config changes on downgrade --> + <skippable>true</skippable> <!-- May fix configuration problems manually --> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + + <execute-stage service="TEZ" component="TEZ_CLIENT" title="Apply config changes for Tez"> + <task xsi:type="configure" id="hdp_2_4_0_0_tez_client_adjust_tez_lib_uris_property"/> + </execute-stage> + + <execute-stage service="HIVE" component="WEBHCAT_SERVER" title="Apply config changes for WebHCat Server"> + <task xsi:type="configure" id="hdp_2_4_0_0_webhcat_server_update_configuration_paths"/> + </execute-stage> + + <!-- KAFKA --> + <!--TODO: remove? Used for non-rolling upgrade only--> + <execute-stage service="KAFKA" component="KAFKA_BROKER" title="Apply config changes for Kafka"> + <task xsi:type="configure" id ="hdp_2_4_0_0_kafka_broker_listeners"/> + </execute-stage> + + </group> + + <!-- Now, restart all of the services. --> + <group xsi:type="restart" name="ZOOKEEPER" title="ZooKeeper"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="ZOOKEEPER"> + <service-check>false</service-check> + <component>ZOOKEEPER_SERVER</component> + <component>ZOOKEEPER_CLIENT</component> + </service> + </group> + + <group xsi:type="restart" name="RANGER" title="Ranger"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="RANGER"> + <component>RANGER_ADMIN</component> + <component>RANGER_USERSYNC</component> + </service> + </group> + + <group xsi:type="restart" name="HDFS" title="HDFS"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="HDFS"> + <component>JOURNALNODE</component> + <component>ZKFC</component> + <component>NAMENODE</component> + <component>SECONDARY_NAMENODE</component> + <component>HDFS_CLIENT</component> + </service> + </group> + + <group xsi:type="restart" name="HDFS_DATANODES" title="HDFS DataNodes"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="HDFS"> + <component>DATANODE</component> + </service> + </group> + + <group xsi:type="cluster" name="HDFS_LEAVE_SAFEMODE" title="HDFS - Wait to leave Safemode"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + + <execute-stage service="HDFS" component="NAMENODE" title="Wait to leave Safemode"> + <task xsi:type="execute" hosts="all" summary="Wait for NameNode to leave Safemode"> + <script>scripts/namenode.py</script> + <function>wait_for_safemode_off</function> + </task> + </execute-stage> + </group> + + <group xsi:type="restart" name="YARN_AND_MAPR" title="YARN and MapReduce2"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + + <service name="MAPREDUCE2"> + <component>HISTORYSERVER</component> + <component>MAPREDUCE2_CLIENT</component> + </service> + + <service name="YARN"> + <component>APP_TIMELINE_SERVER</component> + <component>RESOURCEMANAGER</component> + <component>YARN_CLIENT</component> + </service> + </group> + + <group xsi:type="restart" name="YARN_NODEMANAGERS" title="YARN NodeManagers"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + + <service name="YARN"> + <component>NODEMANAGER</component> + </service> + </group> + + <group xsi:type="restart" name="HBASE" title="HBASE"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="HBASE"> + <component>HBASE_MASTER</component> + <component>HBASE_REGIONSERVER</component> + <component>HBASE_CLIENT</component> + </service> + </group> + + <group xsi:type="restart" name="CLIENTS" title="Tez, Pig, Sqoop Clients"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="TEZ"> + <component>TEZ_CLIENT</component> + </service> + + <service name="PIG"> + <component>PIG</component> + </service> + + <service name="SQOOP"> + <component>SQOOP</component> + </service> + </group> + + <group name="SERVICE_CHECK" title="All Service Checks" xsi:type="service-check"> + <skippable>true</skippable> + <direction>UPGRADE</direction> + <priority> + <service>HDFS</service> + <service>YARN</service> + <service>MAPREDUCE2</service> + <service>HBASE</service> + </priority> + </group> + + <group xsi:type="restart" name="HIVE" title="Hive"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="HIVE"> + <component>HIVE_METASTORE</component> + <component>HIVE_SERVER</component> + <component>WEBHCAT_SERVER</component> + <component>HIVE_CLIENT</component> + <component>HCAT</component> + </service> + </group> + + <group xsi:type="restart" name="SPARK" title="Spark"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="SPARK"> + <component>SPARK_JOBHISTORYSERVER</component> + </service> + </group> + + <group xsi:type="restart" name="SPARK_CLIENTS" title="Spark Clients"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="SPARK"> + <component>SPARK_CLIENT</component> + </service> + </group> + + <!-- Upgrade Oozie DB only on Upgrade direction, and always create a new ShareLib. --> + <group name="UPGRADE_OOZIE" title="Upgrade Oozie Database"> + <direction>UPGRADE</direction> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <execute-stage service="OOZIE" component="OOZIE_SERVER" title="Upgrade Oozie Database"> + <task xsi:type="execute" hosts="any" summary="Upgrading the database and creating a new sharelib"> + <script>scripts/oozie_server_upgrade.py</script> + <function>upgrade_oozie_database_and_sharelib</function> + </task> + </execute-stage> + </group> + + <!-- Only create the ShareLib folder during a Downgrade. --> + <group name="DOWNGRADE_OOZIE" title="Downgrade Oozie ShareLib"> + <direction>DOWNGRADE</direction> + <skippable>true</skippable> + <execute-stage service="OOZIE" component="OOZIE_SERVER" title="Downgrade Oozie ShareLib"> + <task xsi:type="execute" hosts="any" summary="Upgrading the database and creating a new sharelib"> + <script>scripts/oozie_server_upgrade.py</script> + <function>create_sharelib</function> + </task> + </execute-stage> + </group> + + <group xsi:type="restart" name="OOZIE" title="Oozie"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="OOZIE"> + <component>OOZIE_SERVER</component> + </service> + </group> + + <group xsi:type="restart" name="OOZIE_CLIENTS" title="Oozie Clients"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="OOZIE"> + <component>OOZIE_CLIENT</component> + </service> + </group> + + <group xsi:type="restart" name="FALCON" title="Falcon"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="FALCON"> + <component>FALCON_SERVER</component> + </service> + </group> + + <group xsi:type="restart" name="FALCON_CLIENTS" title="Falcon Clients"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="FALCON"> + <component>FALCON_CLIENT</component> + </service> + </group> + + <group xsi:type="restart" name="KAFKA" title="Kafka"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="KAFKA"> + <component>KAFKA_BROKER</component> + </service> + </group> + + <group xsi:type="restart" name="KNOX" title="Knox"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="KNOX"> + <component>KNOX_GATEWAY</component> + </service> + </group> + + <group xsi:type="restart" name="STORM" title="Storm"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="STORM"> + <component>NIMBUS</component> + <component>SUPERVISOR</component> + <component>STORM_UI_SERVER</component> + <component>DRPC_SERVER</component> + </service> + + <execute-stage service="STORM" component="DRPC_SERVER" title="Rebuild Storm Topology"> + <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> + </execute-stage> + </group> + + <group xsi:type="restart" name="SLIDER" title="Slider"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="SLIDER"> + <component>SLIDER</component> + </service> + </group> + + <group xsi:type="restart" name="FLUME" title="Flume"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <service name="FLUME"> + <component>FLUME_HANDLER</component> + </service> + </group> + + <group xsi:type="restart" name="ACCUMULO" title="Accumulo"> + <service-check>false</service-check> + <skippable>true</skippable> + <parallel-scheduler/> + <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> + + <!-- + Invoke "hdp-select set all" to change any components we may have missed + that are installed on the hosts but not known by Ambari. + --> + <group xsi:type="cluster" name="ALL_HOST_OPS" title="Set Version On All Hosts"> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + + <execute-stage title="Update 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="HDFS" component="NAMENODE" title="Execute HDFS Finalize"> + <task xsi:type="execute" hosts="master"> + <script>scripts/namenode.py</script> + <function>finalize_non_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"> + </task> + </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"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="RANGER_USERSYNC"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + + <service name="HDFS"> + <component name="NAMENODE"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="DATANODE"> + <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"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="MAPREDUCE2_CLIENT"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + + <service name="YARN"> + <component name="APP_TIMELINE_SERVER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="RESOURCEMANAGER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="NODEMANAGER"> + <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"> + <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> + </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="SQOOP"> + <component name="SQOOP"> + <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"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="WEBHCAT_SERVER"> + <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="SPARK"> + <component name="SPARK_JOBHISTORYSERVER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + <component name="SPARK_CLIENT"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + + <service name="OOZIE"> + <component name="OOZIE_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" summary="Upgrading the database and creating a new sharelib"> + <script>scripts/oozie_server_upgrade.py</script> + <function>upgrade_oozie_database_and_sharelib</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" summary="Create a new sharelib"> + <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"> + <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"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + + <service name="KNOX"> + <component name="KNOX_GATEWAY"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + + <service name="STORM"> + <component name="NIMBUS"> + <pre-upgrade> + <task xsi:type="execute" summary="Removing Storm data from ZooKeeper"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_zookeeper_data</function> + </task> + + <task xsi:type="execute" summary="Removing local Storm data"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_local_data</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="manual"> + <message>Before continuing, please deactivate and kill any currently running topologies.</message> + </task> + + <task xsi:type="execute" summary="Removing Storm data from ZooKeeper"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_zookeeper_data</function> + </task> + + <task xsi:type="execute" summary="Removing local Storm data"> + <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"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_local_data</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="manual"> + <message>Before continuing, please deactivate and kill any currently running topologies.</message> + </task> + + <task xsi:type="execute" summary="Removing local Storm data"> + <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"> + <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"> + <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="SLIDER"> + <component name="SLIDER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + + <service name="FLUME"> + <component name="FLUME_HANDLER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + </processing> +</upgrade> http://git-wip-us.apache.org/repos/asf/ambari/blob/2feea0bd/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml index 29384b0..5534e3e 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.3.xml @@ -76,6 +76,12 @@ <skippable>true</skippable> <supports-auto-skip-failure>false</supports-auto-skip-failure> + <execute-stage service="KNOX" component="KNOX_GATEWAY" title="Backup Knox Data"> + <task xsi:type="manual"> + <message>Before continuing, please backup the Knox data. E.g., "cp -RL /usr/hdp/current/knox-server/data/* ~/knox_backup/" on the following host(s): {{hosts.all}}.</message> + </task> + </execute-stage> + <execute-stage service="HBASE" component="HBASE_MASTER" title="Pre Upgrade HBase Backup"> <task xsi:type="execute" hosts="master"> <script>scripts/hbase_upgrade.py</script> http://git-wip-us.apache.org/repos/asf/ambari/blob/2feea0bd/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml new file mode 100644 index 0000000..863e0a0 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml @@ -0,0 +1,847 @@ +<?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"> + <target>2.4.*.*</target> + <target-stack>HDP-2.4</target-stack> + <type>ROLLING</type> + <skip-failures>false</skip-failures> + <skip-service-check-failures>false</skip-service-check-failures> + + <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> + + <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> + + <skip-failures>false</skip-failures> + <skip-service-check-failures>false</skip-service-check-failures> + + <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 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> + </group> + + <group name="ZOOKEEPER" title="ZooKeeper"> + <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="CORE_MASTER" title="Core Masters"> + <service-check>false</service-check> + <service name="HDFS"> + <component>JOURNALNODE</component> + <component>NAMENODE</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" title="All Service Checks" xsi:type="service-check"> + <skippable>true</skippable> + <direction>UPGRADE</direction> + <priority> + <service>ZOOKEEPER</service> + <service>HDFS</service> + <service>YARN</service> + <service>MAPREDUCE2</service> + <service>HBASE</service> + </priority> + <exclude> + <service>AMBARI_METRICS</service> + </exclude> + </group> + + <group name="CORE_SLAVES" title="Core Slaves" xsi:type="colocated"> + <skippable>true</skippable> + <service-check>false</service-check> + <service name="HDFS"> + <component>DATANODE</component> + </service> + + <service name="HBASE"> + <component>HBASE_REGIONSERVER</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" title="All Service Checks" xsi:type="service-check"> + <skippable>true</skippable> + <direction>UPGRADE</direction> + <priority> + <service>ZOOKEEPER</service> + <service>HDFS</service> + <service>YARN</service> + <service>HBASE</service> + </priority> + <exclude> + <service>AMBARI_METRICS</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> + </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="HIVE"> + <component>HIVE_CLIENT</component> + <component>HCAT</component> + </service> + </group> + + <group name="SERVICE_CHECK" title="All Service Checks" xsi:type="service-check"> + <skippable>true</skippable> + <direction>UPGRADE</direction> + <priority> + <service>ZOOKEEPER</service> + <service>HDFS</service> + <service>YARN</service> + <service>HBASE</service> + </priority> + <exclude> + <service>AMBARI_METRICS</service> + </exclude> + </group> + + <group name="KAFKA" title="Kafka"> + <skippable>true</skippable> + <service name="KAFKA"> + <component>KAFKA_BROKER</component> + </service> + </group> + + <group name="KNOX" title="Knox"> + <skippable>true</skippable> + <service name="KNOX"> + <component>KNOX_GATEWAY</component> + </service> + </group> + + <group name="STORM" title="Storm"> + <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="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-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="HDFS"> + <component name="NAMENODE"> + <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="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"> + <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-downgrade /> <!-- no-op to prevent config changes on downgrade --> + + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + + <component name="NODEMANAGER"> + <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-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> + </service> + + <service name="TEZ"> + <component name="TEZ_CLIENT"> + <pre-upgrade> + <task xsi:type="configure" id="hdp_2_4_0_0_tez_client_adjust_tez_lib_uris_property"/> + </pre-upgrade> + <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="SQOOP"> + <component name="SQOOP"> + <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="manual"> + <summary>HiveServer Port Availability</summary> + <message>Please note that the HiveServer port will now change to 10010 if hive is using a binary transfer mode or 10011 if hive is using an http transport mode. You can use "netstat -anp | grep 1001[01]" to determine if the port is available on each of following HiveServer host(s): {{hosts.all}}. If the port is not available, the process using it must be terminated.</message> + </task> + + <task xsi:type="configure" id="hdp_2_4_0_0_hive_server_set_transport_mode"/> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="manual"> + <summary>HiveServer Port Availability</summary> + <message>Please note that the HiveServer port will now change to 10000 if hive is using a binary transfer mode or 10001 if hive is using an http transport mode. You can use "netstat -anp | grep 1000[01]" to determine if the port is available on each of following HiveServer host(s): {{hosts.all}}. If the port is not available, the process using it must be terminated.</message> + </task> + + <task xsi:type="configure" id="hdp_2_4_0_0_hive_server_restore_transport_mode_on_downgrade"/> + </pre-downgrade> + + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + + <component name="WEBHCAT_SERVER"> + <pre-upgrade> + <task xsi:type="configure" id="hdp_2_4_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"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + <component name="SPARK_CLIENT"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + </service> + + <service name="OOZIE"> + <component name="OOZIE_SERVER"> + <pre-upgrade> + <task xsi:type="execute" hosts="all" summary="Shut down all Oozie servers"> + <script>scripts/oozie_server.py</script> + <function>stop</function> + </task> + + <task xsi:type="execute" hosts="any" summary="Upgrading the database and creating a new sharelib"> + <script>scripts/oozie_server_upgrade.py</script> + <function>upgrade_oozie_database_and_sharelib</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="all" summary="Shut down all Oozie servers"> + <script>scripts/oozie_server.py</script> + <function>stop</function> + </task> + + <task xsi:type="execute" hosts="any" summary="Create a new sharelib"> + <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"> + <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"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + </service> + + <service name="KNOX"> + <component name="KNOX_GATEWAY"> + <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-downgrade> + <task xsi:type="execute" summary="Removing Storm data from ZooKeeper"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_zookeeper_data</function> + </task> + + <task xsi:type="execute" summary="Removing local Storm data"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_local_data</function> + </task> + </pre-downgrade> + + <pre-upgrade> + <task xsi:type="manual"> + <message>Before continuing, please deactivate and kill any currently running topologies.</message> + </task> + + <task xsi:type="execute" summary="Removing Storm data from ZooKeeper"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_zookeeper_data</function> + </task> + + <task xsi:type="execute" summary="Removing local Storm data"> + <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="STORM_REST_API"> + <pre-upgrade> + <task xsi:type="execute" summary="Removing local Storm data"> + <script>scripts/storm_upgrade.py</script> + <function>delete_storm_local_data</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="manual"> + <message>Before continuing, please deactivate and kill any currently running topologies.</message> + </task> + + <task xsi:type="execute" summary="Removing local Storm data"> + <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"> + <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="STORM_UI_SERVER"> + <pre-upgrade> + <task xsi:type="execute" summary="Removing local Storm data"> + <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"> + <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> http://git-wip-us.apache.org/repos/asf/ambari/blob/2feea0bd/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/config-upgrade.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/config-upgrade.xml b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/config-upgrade.xml new file mode 100644 index 0000000..e8f1db4 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/config-upgrade.xml @@ -0,0 +1,92 @@ +<?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-config-changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + + <services> + + <service name="TEZ"> + <component name="TEZ_CLIENT"> + <changes> + <definition xsi:type="configure" id="hdp_2_4_0_0_tez_client_adjust_tez_lib_uris_property"> + <type>tez-site</type> + <set key="tez.lib.uris" value="/hdp/apps/${hdp.version}/tez/tez.tar.gz"/> + </definition> + </changes> + </component> + </service> + + <service name="HIVE"> + <component name="HIVE_SERVER"> + <changes> + <definition xsi:type="configure" id="hdp_2_4_0_0_hive_server_set_transport_mode"> + <condition type="hive-site" key="hive.server2.transport.mode" value="binary"> + <type>hive-site</type> + <key>hive.server2.thrift.port</key> + <value>10010</value> + </condition> + <condition type="hive-site" key="hive.server2.transport.mode" value="http"> + <type>hive-site</type> + <key>hive.server2.http.port</key> + <value>10011</value> + </condition> + </definition> + + <definition xsi:type="configure" id="hdp_2_4_0_0_hive_server_restore_transport_mode_on_downgrade"> + <condition type="hive-site" key="hive.server2.transport.mode" value="binary"> + <type>hive-site</type> + <key>hive.server2.thrift.port</key> + <value>10000</value> + </condition> + <condition type="hive-site" key="hive.server2.transport.mode" value="http"> + <type>hive-site</type> + <key>hive.server2.http.port</key> + <value>10001</value> + </condition> + </definition> + </changes> + </component> + + <component name="WEBHCAT_SERVER"> + <changes> + <definition xsi:type="configure" id="hdp_2_4_0_0_webhcat_server_update_configuration_paths" summary="Updating Configuration Paths"> + <type>webhcat-site</type> + <replace key="templeton.jar" find="/usr/hdp/current/hive-webhcat" replace-with="/usr/hdp/${hdp.version}/hive"/> + <replace key="templeton.libjars" find="/usr/hdp/current/zookeeper-client" replace-with="/usr/hdp/${hdp.version}/zookeeper,/usr/hdp/${hdp.version}/hive/lib/hive-common.jar"/> + <replace key="templeton.hadoop" find="/usr/hdp/current/hadoop-client" replace-with="/usr/hdp/${hdp.version}/hadoop"/> + <replace key="templeton.hcat" find="/usr/hdp/current/hive-client" replace-with="/usr/hdp/${hdp.version}/hive"/> + <set key="templeton.hive.extra.files" value="/usr/hdp/${hdp.version}/tez/conf/tez-site.xml,/usr/hdp/${hdp.version}/tez,/usr/hdp/${hdp.version}/tez/lib"/> + </definition> + </changes> + </component> + </service> + + <!--TODO: remove? Used for non-rolling upgrade only--> + <service name="KAFKA"> + <component name="KAFKA_BROKER"> + <changes> + <definition xsi:type="configure" id="hdp_2_4_0_0_kafka_broker_listeners"> + <type>kafka-broker</type> + <set key="listeners" value="PLAINTEXT://localhost:6667"/> + </definition> + </changes> + </component> + </service> + </services> + +</upgrade-config-changes>
