3 # Licensed to the Apache Software Foundation (ASF) under one
4 # or more contributor license agreements. See the NOTICE file
5 # distributed with this work for additional information
6 # regarding copyright ownership. The ASF licenses this file
7 # to you under the Apache License, Version 2.0 (the
8 # "License"); you may not use this file except in compliance
9 # with the License. You may obtain a copy of the License at
11 # http://www.apache.org/licenses/LICENSE-2.0
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
21 java_import org.apache.hadoop.hbase.client.ConnectionFactory
22 java_import org.apache.hadoop.hbase.HBaseConfiguration
26 require 'hbase/taskmonitor'
27 require 'hbase/quotas'
28 require 'hbase/security'
29 require 'hbase/visibility_labels'
33 attr_accessor :configuration
35 def initialize(config = nil)
36 # Create configuration
38 self.configuration = config
40 self.configuration = HBaseConfiguration.create
41 # Turn off retries in hbase and ipc. Human doesn't want to wait on N retries.
42 configuration.setInt('hbase.client.retries.number', 7)
43 configuration.setInt('hbase.ipc.client.connect.max.retries', 3)
49 @connection = ConnectionFactory.createConnection(configuration)
53 # Returns ruby's Admin class from admin.rb
55 ::Hbase::Admin.new(self.connection)
59 ::Hbase::RSGroupAdmin.new(self.connection)
63 ::Hbase::TaskMonitor.new(configuration)
66 # Create new one each time
67 def table(table, shell)
68 ::Hbase::Table.new(self.connection.getTable(TableName.valueOf(table)), shell)
72 ::Hbase::RepAdmin.new(configuration)
76 ::Hbase::SecurityAdmin.new(self.connection.getAdmin)
79 def visibility_labels_admin
80 ::Hbase::VisibilityLabelsAdmin.new(self.connection.getAdmin)
84 ::Hbase::QuotasAdmin.new(self.connection.getAdmin)