You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by wl...@apache.org on 2017/05/04 03:52:01 UTC
incubator-hawq git commit: HAWQ-1449. HAWQ start/stop cluster should
be able to start/stop RPS on standby node
Repository: incubator-hawq
Updated Branches:
refs/heads/master 0a754883f -> 0079c2d68
HAWQ-1449. HAWQ start/stop cluster should be able to start/stop RPS on standby node
Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/0079c2d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/0079c2d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/0079c2d6
Branch: refs/heads/master
Commit: 0079c2d6856766e74ffb6f31c4860a7c5de045fa
Parents: 0a75488
Author: stanlyxiang <st...@gmail.com>
Authored: Wed May 3 13:55:42 2017 +0800
Committer: Wen Lin <wl...@pivotal.io>
Committed: Thu May 4 11:45:18 2017 +0800
----------------------------------------------------------------------
ranger-plugin/scripts/rps.sh | 3 ++-
tools/bin/hawq_ctl | 52 ++++++++++++++++++++++-----------------
2 files changed, 32 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0079c2d6/ranger-plugin/scripts/rps.sh
----------------------------------------------------------------------
diff --git a/ranger-plugin/scripts/rps.sh b/ranger-plugin/scripts/rps.sh
index 70aa547..5328d3d 100755
--- a/ranger-plugin/scripts/rps.sh
+++ b/ranger-plugin/scripts/rps.sh
@@ -47,7 +47,8 @@ export CATALINA_OPTS="-server -Xms${RPS_HEAP_SIZE} -Xmx${RPS_HEAP_SIZE}
# options used to stop the RPS process
export JAVA_OPTS="-Drps.shutdown.port=${RPS_SHUTDOWN_PORT}"
-RPS_URL="http://localhost:${RPS_HTTP_PORT}/rps"
+RPS_HOST=`hostname -f`
+RPS_URL="http://${RPS_HOST}:${RPS_HTTP_PORT}/rps"
RPS_LOG="${CATALINA_BASE}/logs/catalina.out"
function fail() {
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/0079c2d6/tools/bin/hawq_ctl
----------------------------------------------------------------------
diff --git a/tools/bin/hawq_ctl b/tools/bin/hawq_ctl
index cd479cd..f55ec95 100755
--- a/tools/bin/hawq_ctl
+++ b/tools/bin/hawq_ctl
@@ -691,8 +691,10 @@ class HawqStart:
logger.info("Start all the nodes in hawq cluster")
if self.hawq_acl_type == 'ranger':
- self.start_rps()
+ self.start_rps(self.master_host_name)
if self.standby_host_name.lower() not in ('', 'none'):
+ if self.hawq_acl_type == 'ranger':
+ self.start_rps(self.standby_host_name)
logger.info("Starting standby master '%s'" % self.standby_host_name)
check_return_code(self.start_standby(), logger, "Standby master start failed, exit",
"Standby master started successfully")
@@ -737,25 +739,28 @@ class HawqStart:
logger.info("Segments started successfully")
return node_init.return_flag
- def _start_rps(self):
- logger.info("Start ranger plugin service")
+ def _start_rps(self, rps_hostname):
+ logger.info("Start ranger plugin service on %s" % rps_hostname)
cmd_str = "%s/ranger/bin/rps.sh start" % (self.GPHOME)
- result = remote_ssh(cmd_str, self.master_host_name, self.user)
+ result = remote_ssh(cmd_str, rps_hostname, self.user)
return result
- def start_rps(self):
- check_return_code(self._start_rps(), logger, \
- "Ranger plugin service start failed, exit", "Ranger plugin service started successfully")
+ def start_rps(self, rps_hostname):
+ check_return_code(self._start_rps(rps_hostname), logger, \
+ "Ranger plugin service start on %s failed, exit" % rps_hostname, \
+ "Ranger plugin service started on %s successfully" % rps_hostname)
def run(self):
if self.node_type == "master":
if self.hawq_acl_type == 'ranger':
- self.start_rps()
+ self.start_rps(self.master_host_name)
check_return_code(self.start_master(), logger, \
"Master start failed, exit", "Master started successfully")
elif self.node_type == "standby":
if self.standby_host_name == '':
sys.exit(1)
+ if self.hawq_acl_type == 'ranger':
+ self.start_rps(self.standby_host_name)
check_return_code(self.start_standby(), logger, "Standby master start failed, exit",
"Standby master started successfully")
elif self.node_type == "segment":
@@ -961,11 +966,10 @@ class HawqStop:
logger.error("Standby master %s failed" % self.stop_action)
else:
logger.info("Standby master %s successfully" % self.stop_action_past)
- if self.hawq_acl_type == 'ranger':
- self._stop_rps()
- if self.hawq_acl_type == 'unknown':
- logger.warning("Try to stop RPS when hawq_acl_type is unknown")
- self._stop_rps(check_ret = False)
+ if self.hawq_acl_type in ['ranger', 'unknown']:
+ self._stop_rps(self.master_host_name, self.hawq_acl_type)
+ if self.standby_host_name.lower() not in ('', 'none'):
+ self._stop_rps(self.standby_host_name, self.hawq_acl_type)
# Execute segment stop command on each node.
segments_return_flag = self._stopAllSegments()
@@ -1042,30 +1046,34 @@ class HawqStop:
return total_return_flag
- def _stop_rps(self, check_ret = True):
+ def _stop_rps(self, rps_hostname, acl_type):
if self.hawq_reload:
# not stop RPS when running 'hawq stop --reload'.
return
- logger.info("Stop Ranger plugin service")
+ check_ret = True
+ if acl_type == 'unknown':
+ logger.warning("Try to stop RPS when hawq_acl_type is unknown")
+ check_ret = False
+ logger.info("Stop ranger plugin service on %s" % rps_hostname)
cmd_str = "%s/ranger/bin/rps.sh stop" % (self.GPHOME)
- result = remote_ssh(cmd_str, self.master_host_name, self.user)
+ result = remote_ssh(cmd_str, rps_hostname, self.user)
if check_ret:
check_return_code(result, logger, \
- "Ranger plugin service stop failed, exit", "Ranger plugin service stopped successfully")
+ "Ranger plugin service stop failed on %s, exit" % rps_hostname, \
+ "Ranger plugin service stopped on %s successfully" % rps_hostname)
def run(self):
if self.node_type == "master":
check_return_code(self._stop_master(), logger, \
"Master %s failed, exit" % self.stop_action, "Master %s successfully" % self.stop_action_past)
- if self.hawq_acl_type == 'ranger':
- self._stop_rps()
- if self.hawq_acl_type == 'unknown':
- logger.warning("Try to stop RPS when hawq_acl_type is unknown")
- self._stop_rps(check_ret = False)
+ if self.hawq_acl_type in ['ranger', 'unknown']:
+ self._stop_rps(self.master_host_name, self.hawq_acl_type)
elif self.node_type == "standby":
if self.standby_host_name.lower() not in ('', 'none'):
check_return_code(self._stop_standby(), logger, \
"Standby master %s failed, exit" % self.stop_action, "Standby master %s successfully" % self.stop_action_past)
+ if self.hawq_acl_type in ['ranger', 'unknown']:
+ self._stop_rps(self.standby_host_name, self.hawq_acl_type)
elif self.node_type == "segment":
check_return_code(self._stop_segment(), logger, \
"Segment %s failed, exit" % self.stop_action, "Segment %s successfully" % self.stop_action_past)