summaryrefslogtreecommitdiff
path: root/TWA-PIC/hbase/bin/considerAsDead.sh
diff options
context:
space:
mode:
authorwangchengcheng <[email protected]>2023-07-27 15:43:51 +0800
committerwangchengcheng <[email protected]>2023-07-27 15:43:51 +0800
commit124f687daace8b85e5c74abac04bcd0a92744a8d (patch)
tree4f563326b1be67cfb51bf6a04f1ca4d953536e76 /TWA-PIC/hbase/bin/considerAsDead.sh
parent08686ae87f9efe7a590f48db74ed133b481c85b1 (diff)
P19 23.07 online-configP19
Diffstat (limited to 'TWA-PIC/hbase/bin/considerAsDead.sh')
-rw-r--r--TWA-PIC/hbase/bin/considerAsDead.sh61
1 files changed, 61 insertions, 0 deletions
diff --git a/TWA-PIC/hbase/bin/considerAsDead.sh b/TWA-PIC/hbase/bin/considerAsDead.sh
new file mode 100644
index 0000000..ae1b8d8
--- /dev/null
+++ b/TWA-PIC/hbase/bin/considerAsDead.sh
@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+#
+#/**
+# * 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.
+# */
+#
+
+usage="Usage: considerAsDead.sh --hostname serverName"
+
+# if no args specified, show usage
+if [ $# -le 1 ]; then
+ echo $usage
+ exit 1
+fi
+
+bin=`dirname "${BASH_SOURCE-$0}"`
+bin=`cd "$bin">/dev/null; pwd`
+
+. $bin/hbase-config.sh
+
+shift
+deadhost=$@
+
+remote_cmd="cd ${HBASE_HOME}; $bin/hbase-daemon.sh --config ${HBASE_CONF_DIR} restart"
+
+zparent=`$bin/hbase org.apache.hadoop.hbase.util.HBaseConfTool zookeeper.znode.parent`
+if [ "$zparent" == "null" ]; then zparent="/hbase"; fi
+
+zkrs=`$bin/hbase org.apache.hadoop.hbase.util.HBaseConfTool zookeeper.znode.rs`
+if [ "$zkrs" == "null" ]; then zkrs="rs"; fi
+
+zkrs="$zparent/$zkrs"
+online_regionservers=`$bin/hbase zkcli ls $zkrs 2>&1 | tail -1 | sed "s/\[//" | sed "s/\]//"`
+for rs in $online_regionservers
+do
+ rs_parts=(${rs//,/ })
+ hostname=${rs_parts[0]}
+ echo $deadhost
+ echo $hostname
+ if [ "$deadhost" == "$hostname" ]; then
+ znode="$zkrs/$rs"
+ echo "ZNode Deleting:" $znode
+ $bin/hbase zkcli delete $znode > /dev/null 2>&1
+ sleep 1
+ ssh $HBASE_SSH_OPTS $hostname $remote_cmd 2>&1 | sed "s/^/$hostname: /"
+ fi
+done