* 安装环境前置条件:

HostnameOSRequireIPAppVersionPlugin
ES1CentOS7.3JDK810.0.1.10Elasticsearch5.5.0x-pack5.5.0
ES2CentOS7.3JDK810.0.1.11Elasticsearch5.5.0x-pack5.5.0
KibanaCentOS7.3N/A10.0.1.12Kibana5.5.0x-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包

  1. 生成LicenseVerifier.class的文件

  2. X-pack-5.5.0.jar这个jia包可以用zip文件打开

  3. 然后把这个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

    此步骤需要启动完集群后才能执行。

    导入证书后也需要重启集群。

* 上图

    

000f60edffad4c02300a6a03cdde9472.png-wh_

b23166280d8938462ffdbdc20594e910.png-wh_