想给es 安装一个ik 的插件, 我的es 是 2.4.0, 下载了一个版本是 1.9.5,

[2016-10-09 16:56:26,248][INFO ][node ] [node-2] initializing ...

[2016-10-09 16:56:27,309][ERROR][bootstrap ] Exception
java.lang.IllegalArgumentException: Plugin [analysis-ik] is incompatible with Elasticsearch [2.4.0]. Was designed for version [2.3.5]
at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:118)
at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:378)
at org.elasticsearch.plugins.PluginsService.(PluginsService.java:128)
at org.elasticsearch.node.Node.(Node.java:158)
at org.elasticsearch.node.Node.(Node.java:140)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:143)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)

版本不匹配, 我晕!

原来是这样的:
Versions
IK version ES version
master 5.x -> master
5.0.0-beta1 5.0.0-beta1
1.9.5 2.3.5
1.9.4 2.3.4
1.9.3 2.3.3
1.9.0 2.3.0
1.8.1 2.2.1
1.7.0 2.1.1
1.5.0 2.0.0
1.2.6 1.0.0
1.2.5 0.90.x
1.1.3 0.20.x
1.0.0 0.16.2 -> 0.19.0

可是, 其中没有一个ik 的版本是和我的2.4.0 的ES 匹配的啊!

修改ik 的插件描述文件:
vi plugin-descriptor.properties
将 改成了 2.4.0
elasticsearch.version=2.3.5
->
elasticsearch.version=2.4.0

伴随着一个侥幸的心理, 试试吧, 不至于一个版本差别这么小就导致了不兼容了吧!

重启ES, 还是不行! 出现了 jar hell ! OMG !

[2016-10-09 17:00:20,652][WARN ][bootstrap ] unable to install syscall filter: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in
[2016-10-09 17:00:21,325][INFO ][node ] [node-2] version[2.4.0], pid[14064], build[ce9f0c7/2016-08-29T09:14:17Z][2016-10-09 17:00:21,325][INFO ][node ] [node-2] initializing ...

[2016-10-09 17:00:22,532][ERROR][bootstrap ] Exception
java.lang.IllegalStateException: failed to load bundle [file:/usr/share/elasticsearch/plugins/ik/httpcore-4.4.4.jar, file:/usr/share/elasticsearch/plugins/ik/commons-codec-1.9.jar, file:/usr/share/elasticsearch/plugins/ik/httpclient-4.5.2.jar, file:/usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-1.9.5.jar, file:/usr/share/elasticsearch/plugins/ik/commons-logging-1.2.jar] due to jar hell
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:421)
at org.elasticsearch.plugins.PluginsService.(PluginsService.java:129)
at org.elasticsearch.node.Node.(Node.java:158)
at org.elasticsearch.node.Node.(Node.java:140)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:143)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Caused by: java.lang.IllegalStateException: jar hell!
class: org.elasticsearch.indices.analysis.IKIndicesAnalysis$2
jar1: /usr/share/elasticsearch/lib/elasticsearch-analysis-ik-1.9.5.jar
jar2: /usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-1.9.5.jar
at org.elasticsearch.bootstrap.JarHell.checkClass(JarHell.java:280)
at org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:186)
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:419)
... 7 more

jar hell 表明是同名jar , 不同版本的冲突, (也有可能是相同版本)

仔细一看, 原来有两个 elasticsearch-analysis-ik-1.9.5.jar, 第一个是我手动拷贝到 kibana/lib 下去的, 第二个是 kibana plugins下的, 哦!

删除kibana/lib 中的那个 就可以了!

jar hell & elasticsearch ik 版本问题的更多相关文章

  1. Elasticsearch IK+pinyin

    如何在Elasticsearch中安装中文分词器(IK+pinyin)   如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题——中文词语被分成了一个一个的汉字 ...

  2. Windows10安装Elasticsearch IK分词插件

    安装插件 cmd切换到Elasticsearch安装目录下 C:\Users\Administrator>D: D:\>cd D:\Program Files\Elastic\Elasti ...

  3. 查看jar包的jdk版本并降级

    用解压工具打开jar包(例子都是用7zip)   进入到META-INF目录,查看MANIFEST.MF文件,查看Bulid-Jdk,下图就为1.7.0_55版本的JDK,这就表示jetty-serv ...

  4. jar包、jdk版本、兼容性

    对jar包.jdk版本,以及不同jdk版本的jar包的兼容性有一些疑问,搜集一些资料于此 查看jar包的jdk版本 查看.jar包中的META-INF\MANIFEST.MF Build-Jdk: 1 ...

  5. elasticsearch 7版本 基础操作

    elasticsearch 7版本 基础操作 首先我们浏览器http://localhost:5601/进入 kibana里的Console中输入 首先让我们在 Console 中输入: PUT t1 ...

  6. SpringBoot整合Elasticsearch+ik分词器+kibana

    话不多说直接开整 首先是版本对应,SpringBoot和ES之间的版本必须要按照官方给的对照表进行安装,最新版本对照表如下: (官网链接:https://docs.spring.io/spring-d ...

  7. ElasticSearch ik分词安装

    1.下载对应版本的ES ik分词 https://github.com/medcl/elasticsearch-analysis-ik/releases 2.解压elasticsearch-analy ...

  8. elasticsearch RTF版本介绍

    说明:elastic search官方版本没有集成中文分词以及各种插件,需要手动配置,手动编译jar,对Windows用户很不友好.下载地址:https://github.com/medcl/elas ...

  9. elasticsearch ik中文分词器安装

    特殊说明:灰色文字用来辅助理解的. 安装IK中文分词器 我在百度上搜索了下,大多介绍的都是用maven打包下载下来的源码,这种方法也行,但是不够方便,为什么这么说? 首先需要安装maven吧?其次需要 ...

随机推荐

  1. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  2. 跟我一起云计算(5)——Shards

    什么是sharding Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库 (server)上,从而缓解单一数据库的性能问题.不太严格的讲,对于海量数据的数据库,如果是因为表多而 ...

  3. 02.SQLServer性能优化之---牛逼的OSQL----大数据导入

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 上一篇:01.SQLServer性能优化之----强大的文件组----分盘存储 http ...

  4. 利用SQLServer数据库发送邮件

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 这个应用案例很多,一般都是预警,比如异常连接的时候,或者数据库报错的时候.等等,,, 先 ...

  5. Android业务组件化之子模块SubModule的拆分以及它们之间的路由Router实现

    前言: 前面分析了APP的现状以及业务组件化的一些探讨(Android业务组件化之现状分析与探讨),以及通信的桥梁Scheme的使用(Android业务组件化之URL Scheme使用),今天重点来聊 ...

  6. 学习ASP.NET Core, 怎能不了解请求处理管道[5]: 中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter

    中间件的注册除了可以借助Startup对象(DelegateStartup或者ConventionBasedStartup)来完成之外,也可以利用另一个叫做StartupFilter的对象来实现.所谓 ...

  7. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  8. DBSCAN密度聚类算法

    DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-M ...

  9. Hawk 6. 编译和扩展开发

    Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...

  10. CSS 3学习——边框

    在CSS 3中可以设置边框圆角.边框阴影和边框图像,分别通过border-radius.border-image和box-shadow属性设置. 边框圆角 border-radius属性是以下4个属性 ...