首页 > 其他分享 >Scala连接Hbase集群出现异常tried to access method com.google.common.base.Stopwatch.<init>()V from class

Scala连接Hbase集群出现异常tried to access method com.google.common.base.Stopwatch.<init>()V from class

时间:2023-07-13 10:44:44浏览次数:34  
标签:google tried val zookeeper hbase guava com

总结/朱季谦

在新项目上创建以下Scala代码去连接Hbase集群,用来判断Hbase是否存在某张表。

//离线Hbase
val conf: Configuration = HBaseConfiguration.create()
conf.set("hbase.zookeeper.quorum","192.168.1.200")
conf.set("hbase.zookeeper.property.clientPort","2181")
// 创建HBase连接
val connection = ConnectionFactory.createConnection(conf)
val hbaseAdmin = connection.getAdmin
val tables = Set("SYSTEM_LOG")
val synTable = TableName.valueOf(tableName)
val tableExist = hbaseAdmin.tableExists(synTable)

在测试运行时,出现了以下异常:

Exception in thread "main" org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.()V from class org.apache.hadoop.hbase.zookeeper.MetaTableLocator

检查发现是因为maven里引入的hbase-client、spark-core等众多依赖包里都含有com.google.guava包,这就会出现各个guava包冲突问题,进而导致出现 tried to access method com.google.common.base.Stopwatch.异常问题。

我们可以通过maven的maven-help插件来检查com.google.guava包冲突问题,maven-help插件的引入与使用,我在另一篇博客里有介绍过——Maven Helper插件——实现一键Maven依赖冲突问题

在maven里切换至【Dependency Analyzer】栏,在搜索框输入冲突包guava,即会出现,guava都被哪些包依赖了,当多个组件包都依赖了同一个包但又不同版本时,很容易久出现各种冲突。红色部分就是表示有冲突的依赖包版本——

image

选中对应想去除的包,右击点击Exclude即可一键exclusion。

最后,单独引入一个com.google.guava包,我的hbase是1.x版本的,引入guava-15版本的可以解决。

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

标签:google,tried,val,zookeeper,hbase,guava,com
From: https://www.cnblogs.com/zhujiqian/p/17549761.html

相关文章

  • Cloud Ace 进军南非——旨在将 Google Cloud 市场扩展到非洲最大的经济体
    【本文由CloudAce整理发布。CloudAce是谷歌云全球战略合作伙伴,拥有300多名工程师,也是谷歌最高级别合作伙伴,多次获得GoogleCloud合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌云认证培训服务。】CloudAce,Inc.(总部位于东京千代田区;总裁Ma......
  • HBase CRUD client
    #requirement.txthappybase==1.2.0"""hbase.py"""#-*-coding:utf-8-*-importhappybasefromconfig.hbase_configimportHAPPYBASE_HBASE#HAPPYBASE_HBASE={#"host":"xxx.xxx.xxx.xxx",#&......
  • 谷歌浏览器Charset扩展程序(解决Google浏览器没有编码的问题)
    较新的谷歌浏览器没有编码这一项,可以选择添加插件的方式,如果无法访问chrome应用商店,请看本文最后的链接下载。将下载好的扩展程序解压,并添加该文件夹。就能看到Charset了。 可以设置了。 下载链接:链接:https://pan.baidu.com/s/1qy53aI6AgCuXUEB0fAb4aQ提取......
  • Google MusicLM:让音乐创作变得简单
    Google发布了一项非常有趣的人工智能项目:MusicLM。它可以让任何人通过简单的文字描述就能生成原创音乐。MusicLM是什么MusicLM是一个文本到音乐生成模型,是基于Google的语言模型LaMDA开发的。用户只需用自然语言描述音乐风格、氛围、搭配乐器等,MusicLM就可以自动生成与......
  • HBase 分布式部署(进阶中级)
    1.HBase分布式部署(进阶中级)1.实验任务一:部署前期准备1.1.步骤一:安装部署hadoopha分布式环境1.2.步骤二:解压安装文件[root@master~]#cd[root@master~]#lsanaconda-ks.cfgjdk-8u152-linux-x64.tar.gzhadoop-2.7.1.tar.gzzookeeper-3.4.8.tar.gzhb......
  • HBase 组件安装与配置
    HBase组件安装与配置1.1.实验目的完成本实验,您应该能够:掌握HBase安装与配置掌握HBase常用Shell命令1.2.实验要求了解HBase原理熟悉HBase常用Shell命令1.3.实验环境本实验所需之主要资源环境如表1-1所示。表1-1资源环境服务器集群单节点,机器最......
  • Google Guice 入门教程01 - 依赖注入
    1.依赖注入1.1类依赖注入所谓的绑定就是将一个接口绑定到具体的类中,这样客户端不用关心具体的实现,而只需要获取相应的接口完成其服务即可。HelloWorld.java 1publicinterfaceHelloWorld{23StringsayHello();4}5然后是具体的实现,HelloWorldImpl.j......
  • Google Colab:云端的Python编程神器
    GoogleColab,全名GoogleColaboratory,是GoogleResearch团队开发的一款云端编程工具,它允许任何人通过浏览器编写和执行Python代码。Colab尤其适合机器学习、数据分析和教育目的。它是一种托管式Jupyter笔记本服务,用户无需设置,就可以直接使用,同时还能获得GPU等计算资源的免费使用......
  • Google 将为高端 Chromebook 推出独立品牌
    说起Chromebook,一般大家的第一印象就是价格便宜、配置不高、做工普通,所选的材料也都是以塑料为主,产品主打的市场也是学生和教育群体。在不少人看来,Chromebook就是一个配备了功能齐全的浏览器,外加一定的文件管理和办公软件的电脑。在疫情的影响下,过去几年Chromebook经历......
  • Google 将为高端 Chromebook 推出独立品牌
    说起Chromebook,一般大家的第一印象就是价格便宜、配置不高、做工普通,所选的材料也都是以塑料为主,产品主打的市场也是学生和教育群体。在不少人看来,Chromebook就是一个配备了功能齐全的浏览器,外加一定的文件管理和办公软件的电脑。在疫情的影响下,过去几年Chromebook经历......