HBase API 之 表操作

相关博客

第一步:创建Maven项目,导入依赖

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>11.0.2</version>
</dependency>

第二步:加入log4j.properties

 ### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###

```java
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File =logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =logs/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

第三步:搭建代码框架

功能代码框架

public class HBaseUtil {
    private static Admin admin = null;
	private static Connection conn = null;
    static {
        //使用HBaseConfiguration的单例方法实例化
        Configuration conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum", "hcmaster:2181,hcslave1:2181,hcslave2:2181");
        conf.set("hbase.zookeeper.property.clientPort", "2181"); //此行为默认值,可以省略

        try {
            conn = ConnectionFactory.createConnection(conf);
            admin = conn.getAdmin();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

测试代码框架

public class HBaseUtilTest {
}

具体代码

判断表是否存在

  • 功能代码
public static boolean isTableExist(String tableName) throws Exception {
    boolean res = admin.tableExists(TableName.valueOf(tableName));
    admin.close();
    return res;
}
  • 测试代码
@Test
public void isTableExist() throws Exception {
    System.out.println(HBaseUtil.isTableExist("stu"));
    System.out.println(HBaseUtil.isTableExist("student"));
    System.out.println(HBaseUtil.isTableExist("hc:stu"));
}
  • 结果
    在这里插入图片描述

创建表

  • 功能代码
public static void createTable(String tableName, String... columnFamily) throws Exception {
    //判断表是否存在
    if (isTableExist(tableName)) {
        System.out.println("表" + tableName + "已存在");
        return;
    }
    //创建表描述器,表名需要转字节
    TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(TableName.valueOf(tableName));
    //添加列族
    for (String cf : columnFamily) {
        ColumnFamilyDescriptor descriptor = ColumnFamilyDescriptorBuilder.of(cf);
        builder.setColumnFamily(descriptor);
    }
    //根据对表的配置,创建表
    admin.createTable(builder.build());
    admin.close();
    System.out.println("表" + tableName + "创建成功!");
}
  • 测试代码
@Test
public void createTable() throws Exception {
    HBaseUtil.createTable("stu2", "info1","info2");
}
  • 结果
    在这里插入图片描述

删除表

  • 功能代码
public static void dropTable(String tableName) throws Exception {
    if (isTableExist(tableName)) {
        admin.disableTable(TableName.valueOf(tableName));
        admin.deleteTable(TableName.valueOf(tableName));
        admin.close();
        System.out.println("表" + tableName + "删除成功!");
    } else {
        System.out.println("表" + tableName + "不存在!");
    }
}
  • 测试代码
@Test
public void dropTable() throws Exception {
    HBaseUtil.dropTable("stu2");
}
  • 结果
    在这里插入图片描述

项目搭建过程中可能出现的问题及解决方案

在整合项目的时候可能会出现各种错误,可以参考网页:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/client/TableDesc
riptor    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.TableDescriptor
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 4 more

原因: 缺少 org/apache/hadoop/hbase/client/ ??
编辑 pom.xml , 添加依赖包复制:

org.apache.maven.plugins
maven-dependency-plugin
3.1.0


copy-dependencies
prepare-package

copy-dependencies



${project.build.directory}/classes/lib

true

true



OK

*/

问题

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hbase/thirdparty/com/google/c
ommon/cache/CacheLoader    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:202)    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:114)    at lsq.HelloHBase.Chapter4.init(Chapter4.java:31)
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:50)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hbase.thirdparty.com.google.common.cache.Ca
cheLoader    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 11 more

解决方案,添加依赖(版本号要为11.0.2):

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>11.0.2</version>
</dependency>

问题

hadoop jar HelloHBase-0.0.1-SNAPSHOT.jar lsq.HelloHBase.Chapter4
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hbase/thirdparty/com/google/c
ommon/util/concurrent/ListeningExecutorService    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:202)    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:114)    at lsq.HelloHBase.Chapter4.init(Chapter4.java:31)
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:50)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hbase.thirdparty.com.google.common.util.con
current.ListeningExecutorService    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 11 more

解决方案,添加依赖(版本号要为11.0.2):

<dependency>
    <groupId>org.apache.hbase.thirdparty</groupId>
    <artifactId>hbase-shaded-netty</artifactId>
    <version>2.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hbase.thirdparty</groupId>
    <artifactId>hbase-shaded-protobuf</artifactId>
    <version>2.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.hbase.thirdparty</groupId>
    <artifactId>hbase-shaded-miscellaneous</artifactId>
    <version>2.1.0</version>
</dependency>  

问题

/*

18/10/30 09:17:20 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop librar
y...18/10/30 09:17:20 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/shaded/protobuf/
generated/MasterProtos$MasterService$BlockingInterface    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:210)    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:114)    at lsq.HelloHBase.Chapter4.init(Chapter4.java:31)
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:50)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.shaded.protobuf.generated.Mast
erProtos$MasterService$BlockingInterface    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 24 more

解决方案:

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-protocol-shaded</artifactId>
    <version>2.1.3</version>
</dependency>

问题

18/10/30 09:22:22 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop librar
y...18/10/30 09:22:22 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
java.io.IOException: java.lang.reflect.InvocationTargetException
    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:221)    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:114)    at lsq.HelloHBase.Chapter4.init(Chapter4.java:31)
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:50)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java
:62)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorI
mpl.java:45)    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:219)    ... 10 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/lang3/ArrayUtils
    at org.apache.hadoop.hbase.HConstants.<clinit>(HConstants.java:1177)
    at org.apache.hadoop.hbase.client.ConnectionUtils.getPauseTime(ConnectionUtils.java:82)
    at org.apache.hadoop.hbase.client.AsyncProcess.<init>(AsyncProcess.java:201)
    at org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.
java:265)    ... 15 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.ArrayUtils
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 19 more
Exception in thread "main" java.lang.NullPointerException
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:52)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

解决办法,添加依赖包:

org.apache.commons:commons-lang3:jar:3.6  

问题

18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA>
18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux
18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Client environment:os.arch=amd64
18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Client environment:os.version=2.6.32-358.el6.x86_64
18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Client environment:user.name=lsq
18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Client environment:user.home=/u/lsq
18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Client environment:user.dir=/panks/data02/lsq/idx030/da
ta18/10/30 10:24:01 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=idx046:2181
 sessionTimeout=90000 watcher=org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient$$Lambda$12/259950055@4c285d8118/10/30 10:24:01 INFO zookeeper.ClientCnxn: Opening socket connection to server idx046.njcc.com/19
2.168.30.46:2181. Will not attempt to authenticate using SASL (unknown error)18/10/30 10:24:01 INFO zookeeper.ClientCnxn: Socket connection established to idx046.njcc.com/192.1
68.30.46:2181, initiating session18/10/30 10:24:01 INFO zookeeper.ClientCnxn: Session establishment complete on server idx046.njcc.c
om/192.168.30.46:2181, sessionid = 0x166bfdd54bf0006, negotiated timeout = 9000018/10/30 10:24:02 INFO zookeeper.ReadOnlyZKClient: Close zookeeper connection 0x36ebc363 to idx046:
2181java.io.IOException: java.lang.reflect.InvocationTargetException
    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:221)    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:87)    at lsq.HelloHBase.Chapter4.init(Chapter4.java:32)
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:51)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java
:62)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorI
mpl.java:45)    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java
:219)    ... 10 more
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/Authenticatio
nProtos$TokenIdentifier$Kind    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.<clinit>(AbstractRpcClient.java:110)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.apache.hadoop.hbase.util.ReflectionUtils.instantiateWithCustomCtor(ReflectionUtils.j
ava:43)    at org.apache.hadoop.hbase.ipc.RpcClientFactory.createClient(RpcClientFactory.java:88)
    at org.apache.hadoop.hbase.ipc.RpcClientFactory.createClient(RpcClientFactory.java:64)
    at org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.
java:289)    ... 15 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.protobuf.generated.Authenticat
ionProtos$TokenIdentifier$Kind    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 22 more
Exception in thread "main" java.lang.NullPointerException
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:53)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
18/10/30 10:24:02 INFO zookeeper.ZooKeeper: Session: 0x166bfdd54bf0006 closed
18/10/30 10:24:02 INFO zookeeper.ClientCnxn: EventThread shut down

解决办法:

<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-protocol</artifactId>
    <version>2.1.3</version>
</dependency>

问题

Exception in thread "main" org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFound
Error: com/codahale/metrics/Metric    at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCalle
rImpl.java:220)    at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerIm
pl.java:119)    at org.apache.hadoop.hbase.client.HTable.get(HTable.java:386)
    at org.apache.hadoop.hbase.client.HTable.get(HTable.java:360)
    at org.apache.hadoop.hbase.MetaTableAccessor.getTableState(MetaTableAccessor.java:1078)
    at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:403)
    at org.apache.hadoop.hbase.client.HBaseAdmin$6.rpcCall(HBaseAdmin.java:445)
    at org.apache.hadoop.hbase.client.HBaseAdmin$6.rpcCall(HBaseAdmin.java:442)
    at org.apache.hadoop.hbase.client.RpcRetryingCallable.call(RpcRetryingCallable.java:58)
    at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerIm
pl.java:107)    at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3084)
    at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3076)
    at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:442)
    at lsq.HelloHBase.Chapter4.createTable(Chapter4.java:53)
    at lsq.HelloHBase.Chapter4.main(Chapter4.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.NoClassDefFoundError: com/codahale/metrics/Metric
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callMethod(AbstractRpcClient.java:402)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:
328)    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.access$200(AbstractRpcClient.java:95)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlock
ingMethod(AbstractRpcClient.java:571)
    at org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$BlockingStu
b.get(ClientProtos.java:42510)
    at org.apache.hadoop.hbase.client.ClientServiceCallable.doGet(ClientServiceCallable.java:50)
    at org.apache.hadoop.hbase.client.HTable$1.rpcCall(HTable.java:381)
    at org.apache.hadoop.hbase.client.HTable$1.rpcCall(HTable.java:376)
    at org.apache.hadoop.hbase.client.RegionServerCallable.call(RegionServerCallable.java:127)
    at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerIm
pl.java:107)    ... 19 more
Caused by: java.lang.ClassNotFoundException: com.codahale.metrics.Metric
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 29 more

解决办法:

io.dropwizard.metrics metrics-core 3.2.6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁云亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值