今天写了一段简单的java代码调用Hbase的API,代码如下:
public class HbaseApi {
private HTable hTable ;
private String tableName;
public HbaseApi(String tableName) throws IOException {
this.tableName = tableName;
HBaseConfiguration hconfig = new HBaseConfiguration();
hconfig.set("hbase.zookeeper.property.clientPort","2181");
hconfig.set("hbase.zookeeper.quorum", "192.168.179.130");
hTable = new HTable(hconfig, this.tableName.getBytes());
}
public void scan(String family, String qualifier) throws IOException {
Scan scan = new Scan();
scan.addColumn(family.getBytes(), qualifier.getBytes());
ResultScanner scanner = hTable.getScanner(scan);
for(Result result = scanner.next(); result != null; result = scanner.next() ) {
}
}
public static void main(String[] args) {
try {
new HbaseApi("teacher").scan("teacher", "info");;
} catch (IOException e) {
e.printStackTrace();
}
}
}
执行的时候出现错误:从错误上看,应该是Hbase的一个类重载了protobuf-java的一个final方法导致的。我使用hadoop的版本是2.2.0, Hbase版本是0.96,protobuf的版本是2.5.如有大神遇到相同的问题,请提供以下解决方法,再此谢过
java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:389)
at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:366)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:247)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:188)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:165)
at com.hadoop.study.hbase.HbaseApi.<init>(HbaseApi.java:19)
at com.hadoop.study.hbase.HbaseApi.main(HbaseApi.java:34)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:387)
... 6 more
Caused by: java.lang.VerifyError: class org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:172)
at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64)
at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:69)
at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:801)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:633)
... 11 more
1. docker安装启动 kafka#下载镜像docker pull zookeeperdocker pull wurstmeister/kafka#查看镜像docker images#启动zookeeper docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime zookeeper..._kafka docker 安装和demo
文章目录一、Tomcat介绍二、Tomcat组件1.Servlet介绍2.JSP介绍一、Tomcat介绍Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,_tomcat 前台运行
题目描述:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc"注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。解题思路:将字符串以空格为分界分开,得到一个列表。 ..._python解决给定一个字符串,你需要反转字符串中每个单词的字符顺序
c++如何避免头文件重复使用**防卫式声明**#ifndef __MYSTRING_H__#define __MYSTRING_H__.........#endif// !__MYSTRING_H__两个类的内存大小两个类继承关系构造和析构函数的先后顺序重要提示:枚举常量代表该枚举类型的变量可能取的值,编译系统为每个枚举常量指定一个整数值,默认状态下,这个整数就是所列举元素的序号,序号从0开始。 ..._e0028表达式必须含有常量值
CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection) 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了。CSharpGL源码中包含10多个独立的Demo,更适合入门参考。 为了尽可能提升渲染效率,CSharpGL是面向Sh..._glsl pointlight
2017年5月20日,上半年国家软件考试开考。小虎尝鲜讲解2017上半年信息系统项目管理师上午试题
HBase版本:1.4.71.1 解压安装包hbase-1.4.7-bin.tar.gz至路径 /usr/local,命令如下:sudo tar -zxf ~/下载/hbase-1.1.2-bin.tar.gz -C /usr/local1.2 将解压的文件名hbase-1.4.7改为hbase,命令如下:sudo mv /usr/local/hbase-1.1.2 /usr..._hbase config/regionservers配置
题目:DreamGrid went to the bookshop yesterday. There are n books in the bookshop in total. Because DreamGrid is very rich, he bought the books according to the strategy below:Check the n books from ...
问题背景 昨晚同事找我帮他看一个问题,他使用mybatis-plus中提供的updateById方法,想将查询结果中某个字段原本不为null的值更新为null(数据库设计允许为null),但结果该字段更新失败,执行更新方法后还是查询的结果。 问题原因 mybatis-plus ..._mybatis更新null字段
1. 导入第三方模块1.1 导入os: import os1.2 导入sys: import sys1.3 导入paramiko import paramiko2. 建立SShRemoteHost2.1 class SshRemoteHost(object):3. 实现__init__方法 def __init__(self, host, user, pwd, cmd..._python 如何再次封装sshclient
上一篇:字节跳动面试经验总结,已顺利拿到offer!来源:智能改变世界https://www.163.com/dy/article/H1JNNLB1055225XN.html资料来源:薛定谔的元宇宙、快科技等。如侵,请联系删除导读最近,国际芯片设计巨头英伟达(NVIDIA)遇上了一件烦心事儿,并且大有可能已经演变成了一出“电视连续剧”。当所有人把目光放在被别国黑客攻..._nvidia falcon
今天遇到一个需求,一个价格小数点后的要比小数点前的小,如果放两个textview感觉特别麻烦,上网上查了查可以用spannable,现整理一下基本用法方便以后使用。布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout ="http://schemas.android.com/apk/res..._css中有没有针对小数点后数字设置大小的样式