You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sm...@apache.org on 2017/04/13 00:06:32 UTC
ambari git commit: AMBARI-20522. Upgrade support for druid components
(Nishant Bangarwa via ncole)
Repository: ambari
Updated Branches:
refs/heads/branch-2.5 cc3493b3d -> 0d3d23276
AMBARI-20522. Upgrade support for druid components (Nishant Bangarwa via ncole)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0d3d2327
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0d3d2327
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0d3d2327
Branch: refs/heads/branch-2.5
Commit: 0d3d23276c4ca6b1c2f642cb69dcc42d188a7523
Parents: cc3493b
Author: Nate Cole <nc...@hortonworks.com>
Authored: Wed Mar 22 16:50:45 2017 -0400
Committer: Sumit Mohanty <sm...@hortonworks.com>
Committed: Wed Apr 12 17:06:26 2017 -0700
----------------------------------------------------------------------
.../common-services/DRUID/0.9.2/metainfo.xml | 7 +++
.../DRUID/0.9.2/package/scripts/druid_node.py | 16 ++++-
.../DRUID/0.9.2/package/scripts/params.py | 2 +
.../DRUID/0.9.2/package/scripts/superset.py | 42 +++++++++----
.../HDP/2.6/upgrades/host-upgrade-2.6.xml | 45 ++++++++++++++
.../HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml | 64 ++++++++++++++++++++
.../stacks/HDP/2.6/upgrades/upgrade-2.6.xml | 54 +++++++++++++++++
7 files changed, 215 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/0d3d2327/ambari-server/src/main/resources/common-services/DRUID/0.9.2/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/metainfo.xml b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/metainfo.xml
index c0859f2..404545c 100644
--- a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/metainfo.xml
+++ b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/metainfo.xml
@@ -29,6 +29,7 @@
<displayName>Druid Coordinator</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<dependencies>
<dependency>
<name>HDFS/HDFS_CLIENT</name>
@@ -52,6 +53,7 @@
<displayName>Druid Overlord</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<dependencies>
<dependency>
<name>HDFS/HDFS_CLIENT</name>
@@ -75,6 +77,7 @@
<displayName>Druid Historical</displayName>
<category>SLAVE</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<dependencies>
<dependency>
<name>HDFS/HDFS_CLIENT</name>
@@ -98,6 +101,7 @@
<displayName>Druid Broker</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<dependencies>
<dependency>
<name>HDFS/HDFS_CLIENT</name>
@@ -121,6 +125,7 @@
<displayName>Druid MiddleManager</displayName>
<category>SLAVE</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<dependencies>
<dependency>
<name>HDFS/HDFS_CLIENT</name>
@@ -144,6 +149,7 @@
<displayName>Druid Router</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<dependencies>
<dependency>
<name>HDFS/HDFS_CLIENT</name>
@@ -167,6 +173,7 @@
<displayName>Druid Superset</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<commandScript>
<script>scripts/superset.py</script>
<scriptType>PYTHON</scriptType>
http://git-wip-us.apache.org/repos/asf/ambari/blob/0d3d2327/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/druid_node.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/druid_node.py b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/druid_node.py
index 6c1cc20..7c6bf39 100644
--- a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/druid_node.py
+++ b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/druid_node.py
@@ -22,8 +22,11 @@ from resource_management import Script
from resource_management.core.logger import Logger
from resource_management.core.resources.system import Execute
from resource_management.libraries.functions.format import format
+from resource_management.libraries.functions import conf_select
+from resource_management.libraries.functions import stack_select
+from resource_management.libraries.functions import StackFeature
+from resource_management.libraries.functions.stack_features import check_stack_feature
from resource_management.libraries.functions.check_process_status import check_process_status
-
from resource_management.libraries.functions.show_logs import show_logs
from druid import druid, get_daemon_cmd, getPid
@@ -45,7 +48,16 @@ class DruidBase(Script):
druid(upgrade_type=upgrade_type, nodeType=self.nodeType)
def pre_upgrade_restart(self, env, upgrade_type=None):
- return
+ node_type_lower = self.nodeType.lower()
+ Logger.info(format("Executing druid-{node_type_lower} Upgrade pre-restart"))
+ import params
+
+ env.set_params(params)
+
+ if params.stack_version and check_stack_feature(StackFeature.ROLLING_UPGRADE, params.stack_version):
+ stack_select.select(self.get_component_name(), params.stack_version)
+ if params.stack_version and check_stack_feature(StackFeature.CONFIG_VERSIONING, params.stack_version):
+ conf_select.select(params.stack_name, "druid", params.stack_version)
def start(self, env, upgrade_type=None):
import params
http://git-wip-us.apache.org/repos/asf/ambari/blob/0d3d2327/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/params.py b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/params.py
index 08ff3ab..b1d9472 100644
--- a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/params.py
@@ -45,6 +45,8 @@ config = Script.get_config()
stack_root = Script.get_stack_root()
tmp_dir = Script.get_tmp_dir()
+stack_name = default("/hostLevelParams/stack_name", None)
+
# stack version
stack_version = default("/commandParams/version", None)
http://git-wip-us.apache.org/repos/asf/ambari/blob/0d3d2327/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/superset.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/superset.py b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/superset.py
index 50e5b6e..b837b24 100644
--- a/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/superset.py
+++ b/ambari-server/src/main/resources/common-services/DRUID/0.9.2/package/scripts/superset.py
@@ -16,17 +16,23 @@ See the License for the specific language governing permissions and
limitations under the License.
"""
-import os, time
-from resource_management.core.resources.system import Directory
+import os
+
from resource_management import Script
-from resource_management.libraries.resources.properties_file import PropertiesFile
+from resource_management.core.logger import Logger
+from resource_management.core.resources import File
+from resource_management.core.resources.system import Directory
from resource_management.core.resources.system import Execute
-from resource_management.core.source import Template
-from resource_management.libraries.functions.show_logs import show_logs
from resource_management.core.source import InlineTemplate
-from resource_management.libraries.functions.format import format
+from resource_management.core.source import Template
+from resource_management.libraries.functions import StackFeature
+from resource_management.libraries.functions import conf_select
+from resource_management.libraries.functions import stack_select
from resource_management.libraries.functions.check_process_status import check_process_status
-from resource_management.core.resources import File
+from resource_management.libraries.functions.format import format
+from resource_management.libraries.functions.show_logs import show_logs
+from resource_management.libraries.functions.stack_features import check_stack_feature
+from resource_management.libraries.resources.properties_file import PropertiesFile
class Superset(Script):
@@ -36,7 +42,7 @@ class Superset(Script):
def install(self, env):
self.install_packages(env)
- def configure(self, env):
+ def configure(self, env, upgrade_type=None):
import params
Directory(
[params.superset_pid_dir, params.superset_log_dir, params.superset_config_dir, params.superset_home_dir],
@@ -85,10 +91,21 @@ class Superset(Script):
Execute(format("source {params.superset_config_dir}/superset-env.sh ; {params.superset_bin_dir}/superset configure_druid_cluster --name druid-ambari --coordinator-host {params.druid_coordinator_host} --coordinator-port {params.druid_coordinator_port} --broker-host {params.druid_router_host} --broker-port {params.druid_router_port} --coordinator-endpoint druid/coordinator/v1/metadata --broker-endpoint druid/v2"),
user=params.druid_user)
- def start(self, env):
+ def pre_upgrade_restart(self, env, upgrade_type=None):
+ Logger.info("Executing druid-superset Upgrade pre-restart")
+ import params
+
+ env.set_params(params)
+
+ if params.stack_version and check_stack_feature(StackFeature.ROLLING_UPGRADE, params.stack_version):
+ stack_select.select(self.get_component_name(), params.stack_version)
+ if params.stack_version and check_stack_feature(StackFeature.CONFIG_VERSIONING, params.stack_version):
+ conf_select.select(params.stack_name, "superset", params.stack_version)
+
+ def start(self, env, upgrade_type=None):
import params
env.set_params(params)
- self.configure(env)
+ self.configure(env, upgrade_type=upgrade_type)
daemon_cmd = self.get_daemon_cmd(params, "start")
try:
Execute(daemon_cmd,
@@ -98,11 +115,10 @@ class Superset(Script):
show_logs(params.druid_log_dir, params.druid_user)
raise
-
- def stop(self, env):
+ def stop(self, env, upgrade_type=None):
import params
env.set_params(params)
-
+ self.configure(env, upgrade_type=upgrade_type)
daemon_cmd = self.get_daemon_cmd(params, "stop")
try:
Execute(daemon_cmd,
http://git-wip-us.apache.org/repos/asf/ambari/blob/0d3d2327/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/host-upgrade-2.6.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/host-upgrade-2.6.xml b/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/host-upgrade-2.6.xml
index 087482c..f923702 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/host-upgrade-2.6.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/host-upgrade-2.6.xml
@@ -558,5 +558,50 @@
</upgrade>
</component>
</service>
+
+ <service name="DRUID">
+ <component name="DRUID_HISTORICAL">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+
+ <component name="DRUID_MIDDLEMANAGER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+
+ <component name="DRUID_BROKER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+
+ <component name="DRUID_ROUTER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+
+ <component name="DRUID_COORDINATOR">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+
+ <component name="DRUID_OVERLORD">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+
+ <component name="DRUID_SUPERSET">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ </service>
+
</processing>
</upgrade>
http://git-wip-us.apache.org/repos/asf/ambari/blob/0d3d2327/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml b/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml
index ce57b92..ce07f7a 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/nonrolling-upgrade-2.6.xml
@@ -135,6 +135,17 @@
<service name="MAPREDUCE2">
<component>HISTORYSERVER</component>
</service>
+
+ <service name="DRUID">
+ <component>DRUID_HISTORICAL</component>
+ <component>DRUID_MIDDLEMANAGER</component>
+ <component>DRUID_BROKER</component>
+ <component>DRUID_ROUTER</component>
+ <component>DRUID_COORDINATOR</component>
+ <component>DRUID_OVERLORD</component>
+ <component>DRUID_SUPERSET</component>
+ </service>
+
</group>
<group xsi:type="cluster" name="Backups" title="Perform Backups">
@@ -732,6 +743,19 @@
</service>
</group>
+ <group xsi:type="restart" name="DRUID" title="Druid">
+ <skippable>true</skippable>
+ <service name="DRUID">
+ <component>DRUID_HISTORICAL</component>
+ <component>DRUID_MIDDLEMANAGER</component>
+ <component>DRUID_BROKER</component>
+ <component>DRUID_ROUTER</component>
+ <component>DRUID_COORDINATOR</component>
+ <component>DRUID_OVERLORD</component>
+ <component>DRUID_SUPERSET</component>
+ </service>
+ </group>
+
<group name="SERVICE_CHECK_3" title="All Service Checks" xsi:type="service-check">
<direction>UPGRADE</direction>
<skippable>true</skippable>
@@ -741,6 +765,7 @@
<service>STORM</service>
<service>FLUME</service>
<service>ACCUMULO</service>
+ <service>DRUID</service>
</priority>
</group>
@@ -1255,5 +1280,44 @@
</upgrade>
</component>
</service>
+
+ <service name="DRUID">
+ <component name="DRUID_HISTORICAL">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_MIDDLEMANAGER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_BROKER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_ROUTER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_COORDINATOR">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_OVERLORD">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_SUPERSET">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ </service>
+
</processing>
</upgrade>
http://git-wip-us.apache.org/repos/asf/ambari/blob/0d3d2327/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/upgrade-2.6.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/upgrade-2.6.xml b/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/upgrade-2.6.xml
index be13c3e..fd72e4d 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/upgrade-2.6.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.6/upgrades/upgrade-2.6.xml
@@ -381,6 +381,21 @@
</service>
</group>
+ <group name="DRUID" title="Druid">
+ <skippable>true</skippable>
+ <supports-auto-skip-failure>false</supports-auto-skip-failure>
+ <service-check>false</service-check>
+ <service name="DRUID">
+ <component>DRUID_HISTORICAL</component>
+ <component>DRUID_MIDDLEMANAGER</component>
+ <component>DRUID_BROKER</component>
+ <component>DRUID_ROUTER</component>
+ <component>DRUID_COORDINATOR</component>
+ <component>DRUID_OVERLORD</component>
+ <component>DRUID_SUPERSET</component>
+ </service>
+ </group>
+
<group name="SERVICE_CHECK_3" title="All Service Checks" xsi:type="service-check">
<direction>UPGRADE</direction>
<skippable>true</skippable>
@@ -389,6 +404,7 @@
<service>HDFS</service>
<service>YARN</service>
<service>HBASE</service>
+ <service>DRUID</service>
</priority>
<exclude>
<service>AMBARI_METRICS</service>
@@ -1014,5 +1030,43 @@
</component>
</service>
+ <service name="DRUID">
+ <component name="DRUID_HISTORICAL">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_MIDDLEMANAGER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_BROKER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_ROUTER">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_COORDINATOR">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_OVERLORD">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ <component name="DRUID_SUPERSET">
+ <upgrade>
+ <task xsi:type="restart-task"/>
+ </upgrade>
+ </component>
+ </service>
+
</processing>
</upgrade>