在一个项目中同时使用hbase和elasticsearch出现netty的jar包冲突的问题

  • 事件:

在同一maven项目中使用hbase的同时又用了es

程序运行后出错

 java.lang.NoSuchMethodError: io.netty.util.AttributeKey.newInstance(Ljava/lang/String;)Lio/netty/util/AttributeKey;

上网查了一些原因,说是netty的版本不同的原因,自己在编译后的目录也看到了不同,分别用了4.0.23和4.1.13两个版本

但不知怎么修改

直到遇见一位大神给出了解决办法

大神地址

作者:hayaqi0504

  • 原因:

pom文件里不同组建各自依赖的netty的版本不同,

例如:我的就是hbase依赖的netty版本和elasticsearch的不同

  • 解决办法:

1.在idea的terminal查看pom所在目录

mvn dependency:tree

找到不同的jar版本,我的es用的4.1.13,而

2.在pom.xml中强制引用netty的依赖,直接使用es所用的版本,因为es用的版本高于hbase所依赖的

<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.13.Final</version>
</dependency>

注:mvn dependency:tree -Dverbose -Dincludes=asm:asm 类似的命令可以找到重复的jar包引用

记一次netty的Hadoop和elasticsearch冲突jar包的更多相关文章

  1. 编写hadoop程序并打成jar包上传到hadoop集群运行

    准备工作: 1. hadoop集群(我用的是hadoop-2.7.3版本),这里hadoop有两种:1是编译好的hadoop-2.7.3:2是源代码hadoop-2.7.3-src: 2. 自己的机器 ...

  2. 记一次netty http server给客户端返回reset包排除

    类似文章:解决用netty去做web服务时,post长度过大的问题 现象:当客户端给server发送的请求体较大时,服务直接给客户端返回reset包. tcpdump: 应用还没有完全收上去,就clo ...

  3. hadoop 编译自己的jar包并运行

    我修从网上找了份java代码 我为了让它在hadoop下跑起来居然花了两个多小时... 首先最好不要在java代码中设置package...使用default package即可... 然后在java ...

  4. Hadoop本地编写的jar包放到集群执行时报错处理

    错误描述: 020-03-24 22:45:23,204 WARN org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor ...

  5. 记一次netty版本冲突,报java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositive的问题

    elasticsearch 5.6中使用TransportClient初始化抛异常 在引入elasticsearch5.6的transportclient包中,会引入netty进行通信. <!- ...

  6. Hadoop vs Elasticsearch – Which one is More Useful

    Hadoop vs Elasticsearch – Which one is More Useful     Difference Between Hadoop and Elasticsearch H ...

  7. 基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎

    基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎 网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并 ...

  8. Spark&Hadoop:scala编写spark任务jar包,运行无法识别main函数,怎么办?

    昨晚和同事一起看一个scala写的程序,程序都写完了,且在idea上debug运行是ok的.但我们不能调试的方式部署在客户机器上,于是打包吧.打包时,我们是采用把外部引入的五个包(spark-asse ...

  9. hadoop:将WordCount打包成独立运行的jar包

    hadoop示例中的WordCount程序,很多教程上都是推荐以下二种运行方式: 1.将生成的jar包,复制到hadoop集群中的节点,然后运行 $HADOOP_HOME/bin/hadoop xxx ...

随机推荐

  1. jacascript Ajax 学习之 JQuery-Ajax

    jQuery 对 ajax 操作进行了封装,在 jQuery 中 $.ajax() 属性最底层的方法,第2层是 load().$.get() 和 $.post() 方法,第3层是 $.getScrip ...

  2. GOF学习笔记1:术语

    1.abstract class 抽象类定义了一个接口,把部分或全部实现留给了子类,不能实例化. 2.abstract coupling  抽象耦合如果一个类A引用了另一个抽象类B,那么就说A是抽象耦 ...

  3. C#倒计时关闭提示框

    前两天实现某个功能需要做一个提示框 并且能够自动关闭的,就从网上搜了一个能够自动关闭的提示框 ,但由于我需要的场景是不确定计时时间的,所以并没有使用到该窗体,但是我觉得可以留存备用 ,后边也把我 这种 ...

  4. Action请求后台出现Response already commited异常解决方法

    在编写导出功能使用action请求,在处理导出异常时期望跳转异常页,Controller中的方法返回类型String的url 在处理完逻辑导出文件后后台控制台出现 WARN  [org.springf ...

  5. 【转载】 C#中日期类型DateTime的日期加减操作

    在C#开发过程中,DateTime数据类型用于表示日期类型,可以通过DateTime.Now获取当前服务器时间,同时日期也可以像数字一样进行加减操作,如AddDay方法可以对日期进行加减几天的操作,A ...

  6. 微信小程序开发demo

    自己写的小程序,欢迎下载 https://gitee.com/lijunchengit/chengZiShengHuoBang

  7. 基于Java+Selenium的WebUI自动化测试框架(五)------页面操作实现类

    在编写完Log类和监听类之后,终于要回到正轨上来了.我们继续开始写UIExcutor的实现类. PS:如果你想让你的报告更加美观一些.推荐使用reportNG这个jar包. 在项目中导入reportn ...

  8. linux下环境管理anaconda3

    我之前在centos之安装单独python3.6,大家都知道centos自带python2.7,通过输入python,和python3来控制想要使用python2,或者python3,如今想要要在li ...

  9. numpy模块的基本使用

    numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速.节省空间.numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提 ...

  10. html 实现动态在线预览word、excel、pdf等文件(方便快捷)

    https://blog.csdn.net/superKM/article/details/81013304 太方便了 <iframe src='https://view.officeapps. ...