操做系統:win7
虛擬機:centos7
工具:CRThtml
4月份的時候,我在虛擬機裏安裝了兩個elasticsearch
和kibana
,而且都安裝了x-pack
。那個時候,下面兩個鏈接都是能夠訪問的:
查看集羣信息:
http://192.168.116.19:9200/_cluster/health?pretty=truejava
利用kibana
圖形化界面查看集羣:node
http://192.168.116.19:5601/json
如今發現都訪問不了,查了下日誌才發現,個人license
過時啦!
這時我纔想起來x-pack
好像是收費的。centos
無奈,只好破解啦服務器
個人版本是x-pack-5.2.2,去官網下載x-pack-5.2.2.zip包。
進行解壓,在elasticsearch目錄中找到x-pack-5.2.2.jar。
再把x-pack-5.2.2.jar進行解壓。找到LicenseVerifier.class文件。
(全路徑:org.elasticsearch/license/LicenseVerifier.class)curl
這裏咱們須要用反編譯軟件查看。jd-gui反編譯出來的不許,咱們使用Luyten來進行反編譯。elasticsearch
①咱們須要先把內容複製到一個文件(本身建立LicenseVerifier.java)中。
②將其改成以下代碼,(下面的代碼是爲了方便咱們替換license.json文件,因此所有返回true):ide
package org.elasticsearch.license; public class LicenseVerifier { public static boolean verifyLicense(final License license, final byte[] encryptedPublicKeyData) { return true; } public static boolean verifyLicense(final License license) { return true; } }
③咱們把其上傳了Linux服務器中,隨便哪一個目錄。
我是在/usr/programe_files/LicenseVerifier.java。svn
④接着咱們須要進行編譯,正常狀況,咱們可能須要對這個項目編譯,其實javac命令也能夠對單個文件進行編譯,只須要進入相應的類路徑就能夠啦。
javac -cp "/usr/programe_files/elasticsearch-5.2.2/lib/elasticsearch-5.2.2.jar:/usr/programe_files/elasticsearch-5.2.2/lib/lucene-core-6.4.1.jar:/usr/programe_files/elasticsearch-5.2.2/plugins/x-pack/x-pack-5.2.2.jar" LicenseVerifier.java
這裏說明下:
個人elasticsearch安裝目錄在/usr/programe_files/elasticsearch-5.2.2。
⑤把編譯後獲得的LicenseVerifier.class替換原有的那個。個人作法是,把其下載到window系統中,利用好壓進行替換。再把x-pack-5.2.2.jar上傳上去進行替換。
替換的地方:elasticsearch安裝目錄中的plugins –> x-pack。
你安裝了幾個elasticsearch,就要替換幾個。
若是你尚未安裝x-pack,你能夠把x-pack-5.2.2.zip中的elasticsearch中x-pack-5.2.2.jar進行替換。而後利用替換後的x-pack-5.2.2.zip進行x-pack插件的安裝。
⑥去官網申請免費license
,會發郵件給你進行下載。
將獲得的文件進行以下修改:
{"license":{"uid":"ba9ae270-28ee-4051-810f-09469dfd4aa4","type":"platinum","issue_date_in_millis":1498694400000,"expiry_date_in_millis":2524579200999,"max_nodes":100,"issued_to":"yu tao (shanghai)","issuer":"Web Form","signature":"AAAAAwAAAA0d3SXUL/5bRSxB/OU4AAABmC9ZN0hjZDBGYnVyRXpCOW5Bb3FjZDAxOWpSbTVoMVZwUzRxVk1PSmkxaktJRVl5MUYvUWh3bHZVUTllbXNPbzBUemtnbWpBbmlWRmRZb25KNFlBR2x0TXc2K2p1Y1VtMG1UQU9TRGZVSGRwaEJGUjE3bXd3LzRqZ05iLzRteWFNekdxRGpIYlFwYkJiNUs0U1hTVlJKNVlXekMrSlVUdFIvV0FNeWdOYnlESDc3MWhlY3hSQmdKSjJ2ZTcvYlBFOHhPQlV3ZHdDQ0tHcG5uOElCaDJ4K1hob29xSG85N0kvTWV3THhlQk9NL01VMFRjNDZpZEVXeUtUMXIyMlIveFpJUkk2WUdveEZaME9XWitGUi9WNTZVQW1FMG1DenhZU0ZmeXlZakVEMjZFT2NvOWxpZGlqVmlHNC8rWVVUYzMwRGVySHpIdURzKzFiRDl4TmM1TUp2VTBOUlJZUlAyV0ZVL2kvVk10L0NsbXNFYVZwT3NSU082dFNNa2prQ0ZsclZ4NTltbU1CVE5lR09Bck93V2J1Y3c9PQAAAQCBFriH7K2dVFXmsQLHDvpY0Ppda0FHGTDSjAmnCcplQWaNKHtX+DR6znV+vOiokhQ8s/Yz5PmI5GFhsqkLEWXl975x1/8GHaDgb7aMv7UzciFw2duWsrH8mKTGGr2wHUKMVW7pUx2Kcr5WkH0G3ax3gynsvnYTApqWiyWdkdPX/jR/T1UhfjEqpCKCQryj+aNLxy2GP+4wF/wH4NvmDF0aWALFCKDAWhuDMCNmm+oKrLrgcIXyQERk7JBf5rZG5Xm7ViiyQ8aFf8X4CN7hA8xxrPmT57jtTrX9d4Q3Kf4jEBVeUnk/qa1Doj0/Ezn2G0vVE2oRQOXmUp9nwo0JTAHj","start_date_in_millis":1498694400000}}
其中主要的就是:
①"type":"platinum" ②"expiry_date_in_millis":2524579200999
原本我想把type改成enterprise的,結果它不認。platinum是白金版,權限也很高。
expiry_date_in_millis就是你要截止的日期,我配置的是到2050年。
把文件重命名爲: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
這裏能夠查看官網:https://www.elastic.co/guide/en/x-pack/5.2/installing-license.html
以後再把elasticsearch重啓就OK了。
我遇到了問題,啓動kibana時,會使得原本已啓動的elasticsearch給關閉啦!並且把空指針異常。真是吐血。折騰到如今也沒有搞定。
不過我實踐到,把kibana中的插件x-pack刪除掉,kibana仍是能夠正常啓動。可是安裝上x-pack就會出錯。
參考連接:
http://www.cnblogs.com/benwu/articles/6648471.html
http://blog.csdn.net/mvpboss1004/article/details/65445023
晚上一直嘗試到如今,基本能夠確定,上面的破解方式,對kibana來講是不成功的。 由於我又在elasticsearch-5.4.3和kibana-5.4.三、x-pack-5.4.3安裝了遍。用官方原版的就是沒有問題。用本身改的認證文件license.json就是不行。