Repository: ambari Updated Branches: refs/heads/trunk b52e2543f -> c9f875d84
AMBARI-9168. RU - ZK Client needs to advertise version for Finalize to work (alejandro) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c9f875d8 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c9f875d8 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c9f875d8 Branch: refs/heads/trunk Commit: c9f875d84e9cacc37369d4940ddd2bdc3f52f49d Parents: b52e254 Author: Alejandro Fernandez <[email protected]> Authored: Thu Jan 15 19:05:03 2015 -0800 Committer: Alejandro Fernandez <[email protected]> Committed: Fri Jan 16 08:34:42 2015 -0800 ---------------------------------------------------------------------- .../svccomphost/ServiceComponentHostImpl.java | 5 ++--- .../package/scripts/journalnode_upgrade.py | 8 +++----- .../package/scripts/zookeeper_client.py | 21 ++++++++++++++++++++ .../stacks/HDP/2.2/upgrades/upgrade-2.2.xml | 6 ++++++ 4 files changed, 32 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java index 28a4721..31606ca 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java @@ -1736,11 +1736,10 @@ public class ServiceComponentHostImpl implements ServiceComponentHost { } } - //TODO hack: clients' states are not updated, probably we should check the state of master components + // ZKFC is special because it is does not receive a RESTART action during a Rolling Upgrade. final Collection<HostComponentStateEntity> nonUpgradedHostComponents = CollectionUtils.subtract(allHostComponents, upgradedHostComponents); for (HostComponentStateEntity hostComponentStateEntity: nonUpgradedHostComponents) { - final Service service = cluster.getService(hostComponentStateEntity.getServiceName()); - if (service.getServiceComponent(hostComponentStateEntity.getComponentName()).isClientComponent()) { + if (hostComponentStateEntity.getComponentName().equalsIgnoreCase("ZKFC")) { upgradedHostComponents.add(hostComponentStateEntity); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py index d8455e8..4e85130 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py @@ -47,9 +47,7 @@ def post_upgrade_check(): raise Fail("Need at least 3 Journalnodes to maintain a quorum") # TODO, test with HTTPS - policy = default("/configurations/hdfs-site/dfs.http.policy", None) - if not policy: - raise Fail("Could not retrieve dfs.http.policy") + policy = default("/configurations/hdfs-site/dfs.http.policy", "HTTP_ONLY") encrypted = policy.upper == "HTTPS_ONLY" nn_address = default("/configurations/hdfs-site/dfs.namenode.https-address", None) if encrypted else \ @@ -136,10 +134,10 @@ def ensure_jns_have_new_txn(nodes, last_txn_id): if data: actual_txn_ids[node] = int(data) if actual_txn_ids[node] >= last_txn_id: - Logger.info("Journalnode %s has a higher transaction id: %s" + str(data)) + Logger.info("Journalnode %s has a higher transaction id: %s" % (node, str(data))) jns_updated += 1 else: - Logger.info("Journalnode %s is still on transaction id: %s" + str(data)) + Logger.info("Journalnode %s is still on transaction id: %s" % (node, str(data))) Logger.info("Sleeping for %d secs" % step_time_secs) time.sleep(step_time_secs) http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py index 81d3604..dcaaab6 100644 --- a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py +++ b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py @@ -21,6 +21,8 @@ Ambari Agent import sys from resource_management import * +from resource_management.libraries.functions.version import compare_versions, format_hdp_stack_version +from resource_management.libraries.functions.format import format from zookeeper import zookeeper @@ -39,6 +41,25 @@ class ZookeeperClient(Script): zookeeper(type='client') + def pre_rolling_restart(self, env): + Logger.info("Executing Rolling Upgrade pre-restart") + import params + env.set_params(params) + + if params.version and compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0: + Execute(format("hdp-select set zookeeper-client {version}")) + + def start(self, env, rolling_restart=False): + import params + env.set_params(params) + self.configure(env) + pass + + def stop(self, env, rolling_restart=False): + import params + env.set_params(params) + pass + def status(self, env): raise ClientComponentHasNoStatus() http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml index 75730f2..4a4b158 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml @@ -203,6 +203,12 @@ <task xsi:type="restart" /> </upgrade> </component> + + <component name="ZOOKEEPER_CLIENT"> + <upgrade> + <task xsi:type="restart" /> + </upgrade> + </component> </service> <service name="HDFS">
