zoukankan      html  css  js  c++  java
  • Elasticsearch X-Pack破解

    1. 概述

    接上一篇文章:Elasticsearch + Kibana + X-Pack + Head集群安装部署

    安装部署好Elasticsearch环境并安装了安全组件x-pack。但是运行一段时间以后,Kibana无法正常登陆,但是程序却可以正常访问es,猜测可能Kibana访问的9200端口,程序访问了9300端口。不管怎么样,x-pack是出问题了。

    x-pack是收费软件,安装x-pack有30天的试用期,30天以后license就会过期。

    2. 破解x-pack

    我使用的版本是5.5.0,在官网下载x-pack-5.5.0.zip包。

    解压后,在elasticsearch目录找到x-pack-5.5.0.jar。

    再把x-pack-5.5.0.jar进行解压,找到LicenseVerifier.class文件。(全路径 org.elasticsearch/license/LicenseVerifier.class)

    使用反编译软件Luyten进行反编译查看。

    2.1 修改license文件

    创建LicenseVerifier.java文件,内容如下:

    package org.elasticsearch.license;
    
    public class LicenseVerifier
    {
        public static boolean verifyLicense(final License license, final byte[] encryptedPublicKeyData) {
            return true;
        }
    
        public static boolean verifyLicense(final License license) {
            return true;
        }
    }
    

    2.2 编译LicenseVerifier.java并打包

    编译及打包操作最好在Linux下进行。

    # 切换LicenseVerified.java目录
    cd /tmp/
    
    # 进行编译,编译需要指定依赖的jar包文件。得到LicenseVerifier.class
    javac "/opt/elasticsearch/lib/elasticsearch5.5.0.jar:/opt/elasticsearch/lib/lucene-core-6.6.0.jar:/opt/elasticsearch/plugins/x-pack/x-pack-5.5.0.jar" LicenseVerifier.java
    
    # 对x-pack-5.5.0.jar解压
    cp /opt/elasticsearch/plugins/x-pack/x-pack-5.5.0.jar /tmp/xpack
    cd /tmp/xpack
    jar -xf x-pack-5.5.0.jar  && rm -rf x-pack-5.5.0.jar 
    
    # 把LicenseVerifier.class 文件替换
    cp /tmp/LicenseVerifier.class /tmp/xpack/org/elasticsearch/license/LicenseVerifier.class
    
    # 重新打包
    java -cf x-pack-5.5.0.jar  ./
    
    # 替换jar包(windows环境需自己拷贝,各节点都要替换)
    cp x-pack-5.5.0.jar /opt/elasticsearch/plugins/x-pack/x-pack-5.5.0.jar /tmp/xpack
    

    2.3 申请免费license

    在官网(https://license.elastic.co/registration)填写信息,重点是邮箱和国家,会在邮箱中收到一个license json文件。

    // 文件主要修改两个字段 type:证书类型 && expriy:到期时间
    "type":"platinum"; 
    "expiry_date_in_millis":2524579200999
    

    type为软件版本,默认为basic,platinum是白金版,权限也很高。
    expiry_date_in_millis就是你要截止的日期,我配置的是到2050年。

    2.4 更新证书

    # 更新证书
    curl -XPUT -u elastic:changeme 'http://192.168.1.91:9200/_xpack/license' -d @license.json
    # 检查证书
    curl -XGET -u elastic:changeme 'http://192.168.1.91:9200/_license'
    

    各个节点都要更新。

    2.5. 重启elasticsearch服务

    重新启动各节点es服务。

    3. 参考资料

    https://blog.csdn.net/u013066244/article/details/73927756

  • 相关阅读:
    重载
    两数之和
    求二叉树层序遍历
    最小的K的个数
    二分查找
    实现二叉树先序,中序,后序
    判断 链表中是否有环
    设计LRU缓存结构
    排序
    反转链条
  • 原文地址:https://www.cnblogs.com/jinhaolin/p/9792807.html
Copyright © 2011-2022 走看看