http://git-wip-us.apache.org/repos/asf/ambari/blob/407c63f8/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml new file mode 100644 index 0000000..c05e33f --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/nonrolling-upgrade-2.5.xml @@ -0,0 +1,1066 @@ +<?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.5.*.*</target> + <target-stack>HDP-2.5</target-stack> + <type>NON_ROLLING</type> + <prerequisite-checks> + <configuration> + <!-- Configuration properties for all pre-reqs including required pre-reqs --> + <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> + <parallel-scheduler/> + <service-check>false</service-check> + + <!-- TODO, Atlas doesn't yet support upgrades and the client doesn't exist in hdp-select. --> + <service name="ATLAS"> + <component>ATLAS_SERVER</component> + </service> + + <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> + <component>SPARK_THRIFTSERVER</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 referenced by the Oozie server located 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 /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="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}}. If audit database size is too large (greater than 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="Backup Ranger KMS Database"> + <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 xsi:type="stop" name="STOP_LOW_LEVEL_SERVICE_COMPONENTS" title="Stop Components for Core 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="HBASE"> + <component>HBASE_REGIONSERVER</component> + <component>HBASE_MASTER</component> + <component>PHOENIX_QUERY_SERVER</component> + </service> + + <service name="HDFS"> + <component>DATANODE</component> + <component>NAMENODE</component> + <component>SECONDARY_NAMENODE</component> + <component>ZKFC</component> + <component>JOURNALNODE</component> + <component>NFS_GATEWAY</component> + </service> + + <service name="RANGER"> + <component>RANGER_USERSYNC</component> + <component>RANGER_ADMIN</component> + </service> + + <service name="RANGER_KMS"> + <component>RANGER_KMS_SERVER</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 referenced by the Oozie server located 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 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="Restore Knox Data"> + <task xsi:type="manual"> + <message>Before continuing, please restore the Knox data. E.g., "cp -RL ~/knox_backup/* /usr/hdp/$(old_version)/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> + + <execute-stage service="RANGER_KMS" component="RANGER_KMS_SERVER" title="Restore Ranger KMS Database"> + <task xsi:type="manual"> + <message>Before continuing, please restore Ranger KMS database</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 --> + + <!--YARN--> + <execute-stage service="MAPREDUCE2" component="MAPREDUCE2_CLIENT" title="Apply config changes for Mapreduce2 client"> + <task xsi:type="server_action" summary="Verifying LZO codec path for mapreduce" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath"/> + </execute-stage> + + <!--TEZ--> + <execute-stage service="TEZ" component="TEZ_CLIENT" title="Verify LZO codec path for Tez"> + <task xsi:type="server_action" summary="Verifying LZO codec path for Tez" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath"/> + </execute-stage> + + <execute-stage service="TEZ" component="TEZ_CLIENT" title="Apply config changes for Tez"> + <task xsi:type="configure" id="hdp_2_5_0_0_tez_client_adjust_tez_lib_uris_property"/> + </execute-stage> + + <!--OOZIE--> + <execute-stage service="OOZIE" component="OOZIE_SERVER" title="Apply config changes for Oozie Server"> + <task xsi:type="server_action" summary="Adjusting Oozie properties" class="org.apache.ambari.server.serveraction.upgrades.OozieConfigCalculation"/> + </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>true</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="RANGER_KMS" title="Ranger KMS"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="RANGER_KMS"> + <component>RANGER_KMS_SERVER</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>NFS_GATEWAY</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> + <component>PHOENIX_QUERY_SERVER</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="MAHOUT"> + <component>MAHOUT</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_MASTERS" title="Hive Masters"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <!-- Must be ran sequentially because Hive Metastore upgrades the schema and Hive Server copies tarballs. --> + <parallel-scheduler> + <max-degree-of-parallelism>1</max-degree-of-parallelism> + </parallel-scheduler> + <service name="HIVE"> + <component>HIVE_METASTORE</component> + <component>HIVE_SERVER</component> + <component>WEBHCAT_SERVER</component> + </service> + </group> + + <group xsi:type="restart" name="HIVE_CLIENTS" title="Hive Clients"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="HIVE"> + <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> + <component>SPARK_THRIFTSERVER</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> + + <!-- TODO, Atlas doesn't yet support upgrades and the client doesn't exist in hdp-select. --> + <group xsi:type="restart" name="ATLAS" title="Atlas"> + <service-check>false</service-check> + <skippable>true</skippable> + <supports-auto-skip-failure>false</supports-auto-skip-failure> + <parallel-scheduler/> + <service name="ATLAS"> + <component>ATLAS_SERVER</component> + </service> + </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"> + <scope>COMPLETE</scope> + <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"> + <pre-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> + + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> + </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="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <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"> + <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"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="SECONDARY_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> + + <component name="NFS_GATEWAY"> + <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="MAHOUT"> + <component name="MAHOUT"> + <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_THRIFTSERVER"> + <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> + <!-- 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"> + <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" sequential="true" 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"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="SUPERVISOR"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="STORM_UI_SERVER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + <component name="DRPC_SERVER"> + <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_TSERVER"> + <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_CLIENT"> + <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="FLUME"> + <component name="FLUME_HANDLER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + </service> + + <!-- TODO, Atlas doesn't yet support upgrades and the client doesn't exist in hdp-select. --> + <service name="ATLAS"> + <component name="ATLAS_SERVER"> + <upgrade> + <task xsi:type="restart-task"/> + </upgrade> + </component> + + </service> + </processing> +</upgrade>
http://git-wip-us.apache.org/repos/asf/ambari/blob/407c63f8/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.5.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.5.xml b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.5.xml new file mode 100644 index 0000000..c9ea512 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades/upgrade-2.5.xml @@ -0,0 +1,868 @@ +<?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.5.*.*</target> + <target-stack>HDP-2.5</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 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"> + <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="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" 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> + <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" 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> + <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" 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-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Upgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-upgrade> + + <pre-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Downgrading Ranger database schema"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_database</function> + </task> + </pre-downgrade> + + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + + <post-upgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-upgrade> + + <post-downgrade> + <task xsi:type="execute" hosts="any" sequential="true" summary="Applying Ranger java patches"> + <script>scripts/ranger_admin.py</script> + <function>setup_ranger_java_patches</function> + </task> + </post-downgrade> + </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="execute" hosts="any" sequential="true" summary="Upgrading Ranger KMS database schema"> + <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"> + <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-downgrade /> <!-- no-op to prevent config changes on downgrade --> + + <pre-upgrade> + <task xsi:type="configure" id="hdp_2_4_0_0_namenode_ha_adjustments"/> + </pre-upgrade> + + <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"> + <pre-upgrade> + <task xsi:type="server_action" summary="Verifying LZO codec path for mapreduce" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath"/> + </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" summary="Calculating Yarn Properties for Spark Shuffle" class="org.apache.ambari.server.serveraction.upgrades.SparkShufflePropertyConfig" /> + </pre-upgrade> + <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> + + <component name="PHOENIX_QUERY_SERVER"> + <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_5_0_0_tez_client_adjust_tez_lib_uris_property"/> + + <task xsi:type="server_action" summary="Verifying LZO codec path for Tez" class="org.apache.ambari.server.serveraction.upgrades.FixLzoCodecPath"/> + </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="MAHOUT"> + <component name="MAHOUT"> + <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="SLIDER"> + <component name="SLIDER"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + </service> + + <service name="SPARK"> + <component name="SPARK_JOBHISTORYSERVER"> + <pre-downgrade /> <!-- no-op to prevent config changes on downgrade --> + <pre-upgrade> + <task xsi:type="configure" id="hdp_2_4_0_0_spark_jobhistoryserver"/> + </pre-upgrade> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + <component name="SPARK_THRIFTSERVER"> + <pre-downgrade /> <!-- no-op to prevent config changes on downgrade --> + <pre-upgrade> + <task xsi:type="configure" id="hdp_2_4_0_0_spark_thriftserver"/> + </pre-upgrade> + <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="configure" id="hdp_2_4_0_0_oozie_remove_service_classes" /> + + <task xsi:type="server_action" summary="Adjusting Oozie properties" class="org.apache.ambari.server.serveraction.upgrades.OozieConfigCalculation"/> + + <task xsi:type="execute" hosts="all" sequential="true" summary="Shut down all Oozie servers"> + <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"> + <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" sequential="true" summary="Shut down all Oozie servers"> + <script>scripts/oozie_server.py</script> + <function>stop</function> + </task> + + <task xsi:type="execute" hosts="any" sequential="true" 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"> + <pre-upgrade> + <task xsi:type="configure" id ="hdp_2_4_0_0_kafka_broker_deprecate_port"/> + </pre-upgrade> + + <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"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + <component name="STORM_REST_API"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + <component name="SUPERVISOR"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + <component name="STORM_UI_SERVER"> + <upgrade> + <task xsi:type="restart-task" /> + </upgrade> + </component> + <component name="DRPC_SERVER"> + <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> + + <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/407c63f8/ambari-server/src/main/resources/stacks/HDP/2.5/upgrades/config-upgrade.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.5/upgrades/config-upgrade.xml b/ambari-server/src/main/resources/stacks/HDP/2.5/upgrades/config-upgrade.xml new file mode 100644 index 0000000..bb116f5 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.5/upgrades/config-upgrade.xml @@ -0,0 +1,82 @@ +<?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_5_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_5_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_5_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_5_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> + + + </services> + +</upgrade-config-changes>