破解elasticsearch(制作破解版docker镜像)
本文仅用于学习交流,要使用elasticsearch的付费功能,请通过正规渠道购买platinum(白金)版。
一、部署纯净版elasticsearch和kibana容器
1、修改宿主机vm.max_map_count的值
使用docker运行elasticsearch,要求宿主机系统的m.max_map_count的值不小于262144,否则elasticsearch镜像无法运行。
编辑“/etc/sysctl.conf”文件,在其中增加一行:
vm.max_map_count=262144
保存后,执行“sysctl -p”让配置生效。
2、部署纯净版elasticsearch
拉取elasticsearch-6.5.4镜像
docker pull elasticsearch:6.5.4
运行elasticsearch-6.5.4
docker run -d -p 9200:9200 --name=elasticsearch-6.5.4 -e xpack.security.enabled=false elasticsearch:6.5.4
注意:需要加上“-e xpack.security.enabled=false”,否则导入license失败。
3、部署kibana
如果使用命令行导入证书,可以不用部署kibana。
拉取kibana-6.5.4镜像
docker pull kibana:6.5.4
运行kibana-6.5.4
docker run -d -p 5601:5601 --name=kibana-6.5.4 -e ELASTICSEARCH_URL=http://192.168.241.13:9200 kibana:6.5.4
二、破解和替换x-pack-core-6.5.4.jar
1、创建LicenseVerifier.java和XPackBuild.java文件,文件内容如下:
LicenseVerifier.java
package org.elasticsearch.license;
public class LicenseVerifier {
public static boolean verifyLicense(License license, byte[] publicKeyData) {
return true;
}
public static boolean verifyLicense(License license) {
return true;
}
}
XPackBuild.java
package org.elasticsearch.xpack.core;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
import org.elasticsearch.common.SuppressForbidden;
import org.elasticsearch.common.io.PathUtils;
public class XPackBuild {
public static XPackBuild CURRENT;
private String shortHash;
private String date;
static {
Path path = getElasticsearchCodebase();
String shortHash = null;
String date = null;
Label_0157:{
shortHash = "Unknown";
date = "Unknown";
}
CURRENT = new XPackBuild(shortHash, date);
}
@SuppressFor