From c7eb30d91015de67fb8207ac1818ce2a29dd60a4 Mon Sep 17 00:00:00 2001 From: litao Date: Fri, 20 May 2022 06:47:16 +0800 Subject: [PATCH] HBASE-27018 Add a tool command list_liveservers (#4416) Signed-off-by: Pankaj Signed-off-by: Viraj Jasani --- hbase-shell/src/main/ruby/shell.rb | 1 + .../ruby/shell/commands/list_liveservers.rb | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 hbase-shell/src/main/ruby/shell/commands/list_liveservers.rb diff --git a/hbase-shell/src/main/ruby/shell.rb b/hbase-shell/src/main/ruby/shell.rb index 2c553d229b0..38a6791015f 100644 --- a/hbase-shell/src/main/ruby/shell.rb +++ b/hbase-shell/src/main/ruby/shell.rb @@ -473,6 +473,7 @@ Shell.load_command_group( splitormerge_enabled clear_compaction_queues list_deadservers + list_liveservers clear_deadservers clear_block_cache stop_master diff --git a/hbase-shell/src/main/ruby/shell/commands/list_liveservers.rb b/hbase-shell/src/main/ruby/shell/commands/list_liveservers.rb new file mode 100644 index 00000000000..b57ef75c73b --- /dev/null +++ b/hbase-shell/src/main/ruby/shell/commands/list_liveservers.rb @@ -0,0 +1,44 @@ +# +# +# 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. +# + +module Shell + module Commands + # List live region servers + class ListLiveservers < Command + def help + <<~EOF + List all live region servers in hbase + Examples: + hbase> list_liveservers + EOF + end + + def command + formatter.header(['SERVERNAME']) + + servers = admin.list_liveservers + servers.each do |server| + formatter.row([server.toString]) + end + + formatter.footer(servers.size) + end + end + end +end