in linkis-engineconn-plugins/hbase/hbase-shims-2.5.3/src/main/resources/hbase-ruby/hbase/admin.rb [842:967]
def status(format, type)
status = @admin.getClusterMetrics
if format == 'detailed'
puts(format('version %s', status.getHBaseVersion))
puts(format('%d regionsInTransition', status.getRegionStatesInTransition.size))
for v in status.getRegionStatesInTransition
puts(format(' %s', v))
end
master = status.getMaster
unless master.nil?
puts(format('active master: %s:%d %d', master.getHostname, master.getPort, master.getStartcode))
for task in status.getMasterTasks
puts(format(' %s', task.toString))
end
end
puts(format('%d backup masters', status.getBackupMastersSize))
for server in status.getBackupMasters
puts(format(' %s:%d %d', server.getHostname, server.getPort, server.getStartcode))
end
master_coprocs = java.util.Arrays.toString(@admin.getMasterCoprocessors)
unless master_coprocs.nil?
puts(format('master coprocessors: %s', master_coprocs))
end
puts(format('%d live servers', status.getServersSize))
for server in status.getServers
puts(format(' %s:%d %d', server.getHostname, server.getPort, server.getStartcode))
puts(format(' %s', status.getLoad(server).toString))
for name, region in status.getLoad(server).getRegionsLoad
puts(format(' %s', region.getNameAsString.dump))
puts(format(' %s', region.toString))
end
for task in status.getLoad(server).getTasks
puts(format(' %s', task.toString))
end
end
puts(format('%d dead servers', status.getDeadServersSize))
for server in status.getDeadServerNames
puts(format(' %s', server))
end
elsif format == 'replication'
puts(format('version %<version>s', version: status.getHBaseVersion))
puts(format('%<servers>d live servers', servers: status.getServersSize))
status.getServers.each do |server_status|
sl = status.getLoad(server_status)
r_sink_string = ' SINK:'
r_source_string = ' SOURCE:'
r_load_sink = sl.getReplicationLoadSink
next if r_load_sink.nil?
if r_load_sink.getTimestampsOfLastAppliedOp() == r_load_sink.getTimestampStarted()
r_sink_string << " TimeStampStarted=" + r_load_sink.getTimestampStarted().to_s
r_sink_string << ", Waiting for OPs... "
else
r_sink_string << " TimeStampStarted=" + r_load_sink.getTimestampStarted().to_s
r_sink_string << ", AgeOfLastAppliedOp=" + r_load_sink.getAgeOfLastAppliedOp().to_s
r_sink_string << ", TimeStampsOfLastAppliedOp=" +
(java.util.Date.new(r_load_sink.getTimestampsOfLastAppliedOp())).toString()
end
r_load_source_map = sl.getReplicationLoadSourceMap
build_source_string(r_load_source_map, r_source_string)
puts(format(' %<host>s:', host: server_status.getHostname))
if type.casecmp('SOURCE').zero?
puts(format('%<source>s', source: r_source_string))
elsif type.casecmp('SINK').zero?
puts(format('%<sink>s', sink: r_sink_string))
else
puts(format('%<source>s', source: r_source_string))
puts(format('%<sink>s', sink: r_sink_string))
end
end
elsif format == 'tasks'
master = status.getMaster
unless master.nil?
puts(format('active master: %s:%d %d', master.getHostname, master.getPort, master.getStartcode))
printed = false
for task in status.getMasterTasks
next unless task.getState.name == 'RUNNING'
puts(format(' %s', task.toString))
printed = true
end
if !printed
puts(' no active tasks')
end
end
puts(format('%d live servers', status.getServersSize))
for server in status.getServers
puts(format(' %s:%d %d', server.getHostname, server.getPort, server.getStartcode))
printed = false
for task in status.getLoad(server).getTasks
next unless task.getState.name == 'RUNNING'
puts(format(' %s', task.toString))
printed = true
end
if !printed
puts(' no active tasks')
end
end
elsif format == 'simple'
load = 0
regions = 0
master = status.getMaster
puts(format('active master: %s:%d %d', master.getHostname, master.getPort, master.getStartcode))
puts(format('%d backup masters', status.getBackupMastersSize))
for server in status.getBackupMasters
puts(format(' %s:%d %d', server.getHostname, server.getPort, server.getStartcode))
end
puts(format('%d live servers', status.getServersSize))
for server in status.getServers
puts(format(' %s:%d %d', server.getHostname, server.getPort, server.getStartcode))
puts(format(' %s', status.getLoad(server).toString))
load += status.getLoad(server).getNumberOfRequests
regions += status.getLoad(server).getNumberOfRegions
end
puts(format('%d dead servers', status.getDeadServers))
for server in status.getDeadServerNames
puts(format(' %s', server))
end
puts(format('Aggregate load: %d, regions: %d', load, regions))
else
puts "1 active master, #{status.getBackupMastersSize} backup masters, #{status.getServersSize} servers, #{status.getDeadServers} dead, #{format('%.4f', status.getAverageLoad)} average load"
end
end