x-pack破解并安装
x-pack 安装步骤如下:
1. 在ES5.0安装 X-PACK
bin/elasticsearch-plugin install x-pack
也可以将pack包下载到本地,离线安装: bin/elasticsearch-plugin install file:///home/download/x-pack-5.0.0.zip
如果不需要该插件,也可以通过非常简单的方式删除:
bin/elasticsearch-plugin remove x-pack
2.在kibana5.0中安装X-PACK
bin/kibana-plugin install x-pack
卸载:bin/kibana-plugin remove x-pack
安装成功后重启ElasticSearch和Kibana:
以上安装之后,就会发现ES的访问和Kibana的访问都受到限制
默认的用户名和密码:
用户名:elastic
密码:changeme
登录到Kibana会发现 elastic是一个最高级别的user,拥有所有权限,其角色是superuser。
elasticsearch和kibana默认是受限可一修改配置文件来取消限制。具体参见 :https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html
登录时不让输入用户和密码,提示license不允许,免费的license只有一年时间,找了一下,可以破解,步骤如下:
1: 破解并安装
下载x-pack-5.2.0.zip,
解压并找到x-pack-5.2.0.jar。这里使用JD-GUI是无法反编译的,
我使用的是Luyten(下载地址:https://github.com/deathmarine/Luyten/releases/tag/v0.5.0)进行反编译。
将org.elasticsearch/license/LicenseVerifier.class反编译并保存出来。这个类是检查license完整性的类,我们使其始终返回true,就可以任意修改license并导入。将其改为:
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;
}
}
注:红色的部分可以都不要
然后需要重新编译class文件。注意这里我们无需编译整个工程,将原来的x-pack-5.2.0.jar和依赖包加入CLASSPATH,即可完成单个文件的编译。实际上只用到了3个依赖包,如果是用RPM或DEB安装的,直接运行:
javac -cp "e:/tools/linux/elasticsearch/5.0/elasticsearch-5.0.0.jar;e:/tools/linux/elasticsearch/5.0/lucene-core-6.2.0.jar;E:/tools/linux/elasticsearch/5.0/x-pack-5.0.0/elasticsearch/x-pack-5.0.0.jar" LicenseVerifier.java
注:javac执行时的参数cp 表示classpath 路径,如果多个在windows环境中用 ; 隔开,linux中用 : 隔开;
把x-pack-5.2.0.jar用压缩文件管理器打开,将里面的LicenseVerifier.class替换掉。再把破解了的jar包部署到各节点上,
将破解的.zip文件安装到服务器,启动 elasticsearch,kibana,并重启集群。安装新的之前要现将已经安装的删除。
申请一个免费license(https://license.elastic.co/registration) 注册后可以下载文件,下载后修改,例如:
主要修改:type改为platinum表示可以使用所有功能 ; expiry_date_in_millis 我这里改了10年 ^_^
{"license":{"uid":"10cf8263-4d23-4e81-b10b-95abfb14b599","type":"platinum","issue_date_in_millis":1490832000000,"expiry_date_in_millis":1806237751991,"max_nodes":100,"issued_to":"www bbb (baiye)","issuer":"Web Form","signature":"AAAAAwAAAA33g9abHznVovDNSXRpAAABmC9ZN0hjZDBGYnVyRXpCOW5Bb3FjZDAxOWpSbTVoMVZwUzRxVk1PSmkxaktJRVl5MUYvUWh3bHZVUTllbXNPbzBUemtnbWpBbmlWRmRZb25KNFlBR2x0TXc2K2p1Y1VtMG1UQU9TRGZVSGRwaEJGUjE3bXd3LzRqZ05iLzRteWFNekdxRGpIYlFwYkJiNUs0U1hTVlJKNVlXekMrSlVUdFIvV0FNeWdOYnlESDc3MWhlY3hSQmdKSjJ2ZTcvYlBFOHhPQlV3ZHdDQ0tHcG5uOElCaDJ4K1hob29xSG85N0kvTWV3THhlQk9NL01VMFRjNDZpZEVXeUtUMXIyMlIveFpJUkk2WUdveEZaME9XWitGUi9WNTZVQW1FMG1DenhZU0ZmeXlZakVEMjZFT2NvOWxpZGlqVmlHNC8rWVVUYzMwRGVySHpIdURzKzFiRDl4TmM1TUp2VTBOUlJZUlAyV0ZVL2kvVk10L0NsbXNFYVZwT3NSU082dFNNa2prQ0ZsclZ4NTltbU1CVE5lR09Bck93V2J1Y3c9PQAAAQBj3vZvK4B2T0MWE3hZSxnMEFANBR5g1bNGDrWUqADXLFVAvtkNqPqsOblFnAtr1o/LLkxe/pDxUFS0zPNDIu3FkQct4OP9jTpxhvB7ukMNSK4SGVv2QfDFEkUkGgVIQoZ4mOaL3JPr3WYhX68uuKgzBSwem7oG0k+dbllbDmEFmo1+yd8uxBSFTiSAaLoA2YedFON5x1tzsBZU6miwrnaFpC7KC2ezTl/0BlRPb7tKsS6cUuj8s2Xrn+yu7h6929L9QU1q3fTqk38EySIPkn+LjJKi7d8NwnbbhNdkj4f3uykBmEE1MtCaHsrZFM2Ry1tdDymWuyaGkz0h+2yc0QcB","start_date_in_millis":1490832000000}}
问题1:启动elasticsearch是出现: elasticsearch[21253]: which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
解决方法: 在 /etc/sysconfig/elasticsearch文件中加入以下配置
JAVA_HOME=/usr/local/jdk1.8
问题2:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048
问题3(这个只是一个warn而已,在elasticsearch的日志中看到的):
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
修改: vim /etc/sysctl.conf
添加下面配置: vm.max_map_count=655360
并执行命令:sysctl -p
【安装license】
查看当前的license
[root@localhost Downloads]# curl -XGET -u elastic:changeme 'http://192.168.100.50:9200/_license'
将编辑好的license.json文件放到服务器,在文件目录下执行:
[root@localhost Downloads]#curl -XPUT -u elastic:changeme 'http://192.168.100.50:9200/_xpack/license' -d @license.json
或者下面:
[root@localhost Downloads]#curl -XPUT -u elastic:changeme 'http://192.168.100.50:9200/_xpack/license?acknowledge=true' -d @license.json
重启elasticsearch和kibana .
打开:http://192.168.100.50:5601/login 可正常登录。