elasticsearch6.3版本jdbc连接

使用jdbc连接es6.3需要破解es的license,将其升级为白金版本。以下为步骤:

首先要下载maven依赖,但是我的maven下载不来,远程库配置没用,以下为官方提供的依赖:

<repositories>
  <repository>
    <id>elastic.co</id>
    <url>https://artifacts.elastic.co/maven</url>
  </repository>
</repositories>
<dependency>
  <groupId>org.elasticsearch.plugin</groupId>
  <artifactId>jdbc</artifactId>
  <version>6.3.1</version>
</dependency>

我下载了6.3.0的jar包,放到idea的library里面,一样可以使用。但是可能会与maven中旧版本的依赖冲突。

重点是破解过程:

1.找到x-pack-core-6.3.0.jar

2.解压jar包,找到以下两个文件:

org/elasticsearch/license/LicenseVerifier.class
org/elasticsearch/xpack/core/XPackBuild.class

将其如下修改:

# cat LicenseVerifier.java 
package org.elasticsearch.license;

import java.nio.*;
import java.util.*;
import java.security.*;
import org.elasticsearch.common.xcontent.*;
import org.apache.lucene.util.*;
import org.elasticsearch.common.io.*;
import java.io.*;

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

----------------------------------------------------------------------------------------------

# cat XPackBuild.java 
package org.elasticsearch.xpack.core;
import org.elasticsearch.common.io.*;
import java.net.*;
import org.elasticsearch.common.*;
import java.nio.file.*;
import java.io.*;
import java.util.jar.*;
public class XPackBuild
{
    public static final XPackBuild CURRENT;
    private String shortHash;
    private String date;
    @SuppressForbidden(reason = "looks up path of xpack.jar directly")
    static Path getElasticsearchCodebase() {
        final URL url = XPackBuild.class.getProtectionDomain().getCodeSource().getLocation();
        try {
            return PathUtils.get(url.toURI());
        }
        catch (URISyntaxException bogus) {
            throw new RuntimeException(bogus);
        }
    }
    XPackBuild(final String shortHash, final String date) {
        this.shortHash = shortHash;
        this.date = date;
    }
    public String shortHash() {
        return this.shortHash;
    }
    public String date() {
        return this.date;
    }
    static {
        final Path path = getElasticsearchCodebase();
        String shortHash = null;
        String date = null;
        Label_0157: {
            shortHash = "Unknown";
            date = "Unknown";
        }
        CURRENT = new XPackBuild(shortHash, date);
    }
}

修改完,需要重新编译这两个文件,但是需要注意的是,要引入新的依赖:

javac -cp "/usr/local/elk/elasticsearch-6.2.3/lib/elasticsearch-6.2.3.jar:/usr/local/elk/elasticsearch-6.2.3/lib/lucene-core-7.2.1.jar:/usr/local/elk/elasticsearch-6.2.3/plugins/x-pack/x-pack-core/x-pack-core-6.3.0.jar" LicenseVerifier.java
javac -cp "/usr/local/elk/elasticsearch-6.2.3/lib/elasticsearch-6.2.3.jar:/usr/local/elk/elasticsearch-6.2.3/lib/lucene-core-7.2.1.jar:/usr/local/elk/elasticsearch-6.2.3/plugins/x-pack/x-pack-core/x-pack-core-6.3.0.jar:/usr/local/elk/elasticsearch-6.3.0/lib/elasticsearch-core-6.3.0.jar" XPackBuild.java

再打成jar包,千万别将解压前原本的jar包一并打包,要移出去。

jar -cvf x-pack-core-6.3.0.jar ./*

新产生的jar包替换掉原来的x-pack-core-6.3.0.jar。

去官网申请免费license,会发邮件给你进行下载; 
将下载的文件重命名为license.json,并做如下修改:

"type":"platinum"   #白金版
"expiry_date_in_millis":2524579200999   #截止日期 2050年

接下来是替换license。

网上的curl命令我试了不好使,只能安装kibana去替换license。

看到最后,如果不想尝试的话,我有破解好的jar包下载:点击下载











猜你喜欢

转载自blog.csdn.net/zjx_z/article/details/81015139