LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
更新elk的x-pack插件license
我们的故事 2016-12-13

前文中提到过如何hack本地部署的软件,主题思路是准确的。但是在重新编译代码这块描述的不太清晰,之前自己了解到的处理方法也有限。这次就来说说如何更好地处理重新编译。

思路

  1. 提取x-pack的jar包

    /usr/share/elasticsearch/plugins/x-pack/x-pack-5.0.0.jar

  2. 分析jar中关于license的代码

    2.1. 新建java项目,将x-pack-5.0.0.jar引入项目Libraries

    2.2. 查找License相关代码(License.class),定位到fromXContent方法

        public static License fromXContent(XContentParser parser)

    2.3. 复制class内容,新建文件License.java

  3. 重写license解析代码

    3.1. 重写license.expiryDate和license.type

        builder.expiryDate(4070880000000L);

        builder.type("platinum");

  4. 重新编译java文件

    编译java文件,根据报错信息,加入新的lib:

    joda-time-2.9.4.jar,lucene-core-6.2.0.jar,elasticsearch-5.0.0.jar

  5. 更新jar包

    保持License.class的packge层级,更新x-pack-5.0.0.jar

    jar uvf x-pack-5.0.0.jar org/elasticsearch/license/License*.class

  6. 重启elasticsearch服务,测试结果

    curl -u username:password  https://127.0.0.1:9200/_xpack/license?pretty



推荐文章
评论(0)
分享到
转载我的主页