You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2014/09/29 19:22:23 UTC

git commit: HBASE-6290 Add a function a mark a server as dead and start the recovery the process (Talat Uyarer)

Repository: hbase
Updated Branches:
  refs/heads/master df2ce0c38 -> 4be3cf8fe


HBASE-6290 Add a function a mark a server as dead and start the recovery the process (Talat Uyarer)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4be3cf8f
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4be3cf8f
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4be3cf8f

Branch: refs/heads/master
Commit: 4be3cf8fec8390c4129fa037b63718e84db01656
Parents: df2ce0c
Author: stack <st...@apache.org>
Authored: Mon Sep 29 10:22:10 2014 -0700
Committer: stack <st...@apache.org>
Committed: Mon Sep 29 10:22:10 2014 -0700

----------------------------------------------------------------------
 bin/considerAsDead.sh | 63 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/4be3cf8f/bin/considerAsDead.sh
----------------------------------------------------------------------
diff --git a/bin/considerAsDead.sh b/bin/considerAsDead.sh
new file mode 100644
index 0000000..a823f9d
--- /dev/null
+++ b/bin/considerAsDead.sh
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+#
+#/**
+# * Copyright 2007 The Apache Software Foundation
+# *
+# * 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