* 安装环境前置条件:
Hostname | OS | Require | IP | App | Version | Plugin |
ES1 | CentOS7.3 | JDK8 | 10.0.1.10 | Elasticsearch | 5.5.0 | x-pack5.5.0 |
ES2 | CentOS7.3 | JDK8 | 10.0.1.11 | Elasticsearch | 5.5.0 | x-pack5.5.0 |
Kibana | CentOS7.3 | N/A | 10.0.1.12 | Kibana | 5.5.0 | x-pack5.5.0 |
* 安装ES server (这里以ES1为例)
[root@es1 ~]# tar -zxvf elasticsearch-5.5.0.tar.gz
解压完成后会,进入elasticsearch 目录中建立logs、data两个目录用来存放数据和日志。
[root@es1 elasticsearch]# ls bin config data lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
此时编辑 config/elasticsearch.yaml 配置文件:
[root@es1 elasticsearch]# vim config/elasticsearch.yml # =================== Elasticsearch Configuration ====================== cluster.name: es-cluster node.name: node-1 path.data: /usr/local/elasticsearch/data path.logs: /usr/local/elasticsearch/logs network.host: 10.0.1.10 http.port: 9200 #if node is master choose true or choose false! node.master: true #it is master so choose true node.data: true discovery.zen.ping.unicast.hosts: ["10.0.1.10"]
运行ES不能直接使用root来直接运行,最好使用自定义用户运行、并赋予es目录权限:
[root@es1 elasticsearch]# useradd loguser [root@es1 elasticsearch]# chown -R loguser:root /usr/local/elasticsearch
修改系统默认打开数:
[root@es1 elasticsearch]# vim /etc/security/limits.conf root soft nofile 102400 root hard nofile 102400 * soft nofile 102400 * hard nofile 102400
修改内核参数:
[root@es1 elasticsearch]# echo "vm.max_map_count = 262144" >> /etc/sysctl.conf [root@es1 elasticsearch]# sysctl -p
启动:
[root@es1 elasticsearch]# su - loguser [loguser@es1 elasticsearch]$ /usr/local/elasticsearch/bin/elasticsearch -d
此时ES Server启动完成。
* 安装Kibana 非常简单
[root@kibana ~]# tar -zxvf kibana-5.5.0-linux-x86_64
直接修改配置文件:
[root@kibana kibana]# vim config/kibana.yml server.port: 5601 server.host: "10.0.1.12" server.name: "kibana" elasticsearch.url: "logging.dest: /tmp/kibana.log
启动Kibana:
[root@kibana kibana]# bin/kibana &
* 安装Logstash 略
将在下篇文章着重讲下 logstash 的配置以及正则匹配及语法,此文安装略。
* 安装以及体验 X-pack5.5.0
下载x-pack包:
https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-5.5.0.zip
下载下来后解压,里面包含了各个套件的x-pack包,我们提取出 x-pack-5.5.0.jar 这个文件。
接下来安照正常的套路就是安装,但是由于这个插件是收费的,虽然有1个月的体验期限,但是可能时间不够不能全部试过来,我们就要对其进行反编译,这里需要下载一个软件:Luyten
https://github.com/deathmarine/Luyten/releases/tag/v0.5.0
下载下来后提取其中的源码:
elasticsearch -> license -> LicenseVerifier.class
保存到本地打开文本进行修改:
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文件,此时无需编译一整个工程,只需要提供三个jar包位置。编译参数如下:
javac -cp "/usr/local/elasticsearch/lib/elasticsearch-5.5.0.jar:/usr/local/elasticsearch/lib/lucene-core-6.6.0.jar:/usr/local/elasticsearch/pluin/x-pack-5.5.0/x-pack-5.5.0.jar" LicenseVerifier.java
重建jar包
生成LicenseVerifier.class的文件
X-pack-5.5.0.jar这个jia包可以用zip文件打开
然后把这个LicenseVerifier.class文件存放到X-pack-5.5.0.jar 包中
重建Plugin包
把x-pack-5.5.0.jar 放入x-pack-5.5.0.zip中替换原有的文件重命名为x-pack-creaker-5.5.0.zip方便以后重复使用
各个节点安装破解过的plugin包
例:
[root@kibana kibana-5.5.0-linux-x86_64]# ./bin/kibana-plugin install file:///root/x-pack-creaker-5.5.0.zip
其他ES的插件安装也是一样的
* 获取官方Lincense
https://license.elastic.co/registration
填入信息以后在邮箱中即可收到License文件
由于这个文件也是试用的,他决定了我们使用x-pack的使用时间,刚刚上面的破解主要是为了系统不去校验我们随便License的目的,这是我的License:
{"license":{"uid":"96553541-3a0d-4c42-ac4d-7a94674f3829","type":"platinum","issue_date_in_millis":1508284800000,"expiry_date_in_millis":3748982399999,"max_nodes":100,"issued_to":"XXXX XXXX (XX)","issuer":"Web Form","signature":"AAAAAwAAAA3c2PIb4VooxqNQFFyYAAABmC9ZN0hjZDBGYnVyRXpCOW5Bb3FjZDAxOWpSbTVoMVZwUzRxVk1PSmkxaktJRVl5MUYvUWh3bHZVUTllbXNPbzBUemtnbWpBbmlWRmRZb25KNFlBR2x0TXc2K2p1Y1VtMG1UQU9TRGZVSGRwaEJGUjE3bXd3LzRqZ05iLzRteWFNekdxRGpIYlFwYkJiNUs0U1hTVlJKNVlXekMrSlVUdFIvV0FNeWdOYnlESDc3MWhlY3hSQmdKSjJ2ZTcvYlBFOHhPQlV3ZHdDQ0tHcG5uOElCaDJ4K1hob29xSG85N0kvTWV3THhlQk9NL01VMFRjNDZpZEVXeUtUMXIyMlIveFpJUkk2WUdveEZaME9XWitGUi9WNTZVQW1FMG1DenhZU0ZmeXlZakVEMjZFT2NvOWxpZGlqVmlHNC8rWVVUYzMwRGVySHpIdURzKzFiRDl4TmM1TUp2VTBOUlJZUlAyV0ZVL2kvVk10L0NsbXNFYVZwT3NSU082dFNNa2prQ0ZsclZ4NTltbU1CVE5lR09Bck93V2J1Y3c9PQAAAQAPRn2waE71M2XYoFavWPLL+WQ+vhe0f+ETKvNMUlDyFFpa98na+3S29M8N4tWIUVIGranFkFeTIi18UEj25CxSAneaVeUNhSRyIQ7dXOk/4cORkaOo2XoZ5mK3HnouIjxyA0OdE716cvojPy0S/tTDvkfaAeOR4UXBDew/IdAs2S+UWJE+kGBN7sCF6ESJEtpq+ipof7uOrt/PeAgsqmz46tEPi7BObfqVZ60932Bpin7g3t0j2m9VxHgkmVixs9yON01Zw6bwZWZQR3mcMEZHkobSjVe6pvSMDR9WWbsS4zJi+EfvC82sfAu8d7ZTGBtRspVY121oPMX4eSxytmIA","start_date_in_millis":1508284800000}}
这个json文件中有几个需要注意的地方:
type : platinum 这个是此许可的版本,此为铂金版全功能。
issue_date_in_millis:这个笔主没有搞清楚到底用来干嘛。。。。。
expiry_date_in_millis:这个就是失效时间
start_date_in_millis:许可开始时间
* 注意这个时间笔主一开始也研究了下,比如:1508284800000 这个按照unix时间来说好像太长了点。。但是应该就是unix时间改了点花样。。。(除了unix时间还能有什么。。用代码实现自定义时间是不是夸张了点。。。。)于是笔主删掉了后三位,于是就这么成了。大家想怎么改都行。
* 导入证书
url -XPUT -u elastic:changeme 'http://10.0.1.10:9200/_xpack/license?acknowledge=true' -d @license.json
此步骤需要启动完集群后才能执行。
导入证书后也需要重启集群。
* 上图