Are U ready?
搞Elasticsearch的話死後需要安裝一些輔助工具,在安裝這些工具之前,最好先檢查rpm和node版本,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code># rpm --version</code>
<code>RPM version 4.11.3</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code># node -v</code>
<code>v6.11.3</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code>#nvm install 8.9.0</code>
<code>-</code><code>bash</code><code>: nvm: </code><code>command</code> <code>not found </code><code>#如果沒有發現安裝nvm就按照下面的方法安裝</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code>#curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code># export NVM_DIR="$HOME/.nvm"</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code># [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code># [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code># nvm install 8.9.0</code>
<code>Downloading and installing node v8.9.0...</code>
<code>Downloading https:</code><code>//nodejs</code><code>.org</code><code>/dist/v8</code><code>.9.0</code><code>/node-v8</code><code>.9.0-linux-x64.</code><code>tar</code><code>.xz...</code>
<code>######################################################################## 100.0%</code>
<code>Computing checksum with sha256sum</code>
<code>Checksums matched!</code>
<code>Now using node v8.9.0 (npm v5.5.1)</code>
<code>Creating default </code><code>alias</code><code>: default -> 8.9.0 (-> v8.9.0)</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code># npm install -g grunt-cli</code>
<code>/root/</code><code>.nvm</code><code>/versions/node/v8</code><code>.9.0</code><code>/bin/grunt</code> <code>-> </code><code>/root/</code><code>.nvm</code><code>/versions/node/v8</code><code>.9.0</code><code>/lib/node_modules/grunt-cli/bin/grunt</code>
<code>+ [email protected]</code>
<code>added 16 packages </code><code>in</code> <code>5.842s</code>
<code>[root@chen-elk-001 elasticsearch-</code><code>head</code><code>]</code><code>#</code>
安裝ik插件和head插件
但是當執行到#npm install的時候,會發現有爆錯“PhantomJS not found on PATH”,如圖:
安裝其他的東西也是如此,如圖:
這個問題是因為大陸牆内屏蔽,是以無法得到檔案,是以這個時候就要使用國内的鏡像:
<code>npm </code><code>install</code> <code>-g cnpm --registry=https:</code><code>//registry</code><code>.npm.taobao.org</code>
安裝完畢之後,打開elasticsearch.yml,有幾行需要重點關注:
<code>cluster.name: my-application </code><code>#叢集辨別符</code>
<code>node.name: node-1 </code><code>#節點辨別符</code>
<code>path.data: </code><code>/path/to/data</code> <code>#資料存儲位置</code>
<code>path.logs: </code><code>/path/to/logs</code> <code>#ES的log存儲位置</code>
<code>bootstrap.memory_lock: </code><code>true</code> <code>#設為true以確定ES擁有足夠的JVM記憶體</code>
<code>network.host: 0.0.0.0 </code><code>#ES對外服務的IP位址,改填寫0.0.0.0</code>
<code>http.cors.enabled: </code><code>true</code> <code>#這個是新增</code>
<code>http.cors.allow-origin: </code><code>"*"</code> <code>#這個也是新增</code>
然後再執行#npm run start,如圖:
插播一句,這裡有一個“Local Npm module "grunt-contrib-jasmine" not found. Is it installed?”的提示,很多地方說牆内的安裝方法是#npm install grunt-contrib-jasmine --registry=https://registry.npm.taobao.org,但是經過我測試,這個方法已經失效了。如何解決,還需要再找其他路徑。如果有知道的話,請留言給我。
如果這個時候背景elasticsearch在運作中,那麼在浏覽器裡打開“http://伺服器外網位址:9100”,就會看到如下的情景:
在位址欄裡寫上“http://外網位址IP:9200/”,然後點選“連接配接”,就會連接配接到elasticsearch(weather和accounts是我自己建立的索引),如圖。
安裝Kibana和X-Pack
插件安裝過程已經結束,下面要安裝的是Kibana和X-Pack。x-pack是官方推薦的elasticsearch的一個擴充包,将安全,警告,監視,圖形和報告功能捆綁在一個易于安裝的軟體包中,不過這玩意與我們剛剛安裝的head插件有沖突,而且隻能免費使用一個月,是以我下面雖然安裝了x-pack,但是實際操作的時候我會把它關掉的。Kibana是一個為 ElasticSearch提供的資料分析的 Web 接口,可使用它對日志進行高效的搜尋、可視化、分析等各種操作。
<code>[root@chen-elk-001 elk]</code><code># sha1sum kibana-5.5.1-linux-x86_64.tar.gz</code>
<code>[root@chen-elk-001 elk]</code><code># tar -xzf kibana-5.5.1-linux-x86_64.tar.gz</code>
安裝X-pack很簡單,就是#.elasticsearch安裝路徑/bin/elasticsearch-plugin install x-pack ,然後一路按Y即可。如圖:
重新開機elasticsearch之後,傳回到kibana的bin目錄下,執行#./kibana-plugin install x-pack ,整個安裝的過程會比較漫長,可以借此機會抽根煙什麼的。
啟動kibana的方法就是#./kibana安裝路徑/bin/kibana,如果kibana與elasticsearch版本号向左,那麼就會出現下面這個告警提醒:
<code> </code><code>[warning] You're running Kibana 别的版本号 with some different versions of Elasticsearch on a monitoring cluster. Update Kibana and Elasticsearch to the same version to prevent compatibility issues: v5.5.1 @ 外網位址:9200 (外網位址)</code>
這個雖然是一個warning,但是為了避免踩坑,還是盡快調整成一個版本。
如果出現這個錯誤:
<code>[06:53:01.768] [warning][license][xpack] License information could not be obtained from Elasticsearch. [illegal_argument_exception] No endpoint or operation is available at [_xpack] :: {</code><code>"path"</code><code>:</code><code>"/_xpack"</code><code>,</code><code>"statusCode"</code><code>:400,</code><code>"response"</code><code>:"{\"error\":{\"root_cause\":[{\"</code><code>type</code><code>\</code>
<code>":\"illegal_argument_exception\",\"reason\":\"No endpoint or operation is available at [_xpack]\"}],\"type\":\"illegal_argument_exception\",\"reason\":\"No endpoint or operation is available at [_xpack]\"},\"status\":400}"</code><code>}</code>
這是以為elasticsearch下的x-pack沒有裝好,隻有kibana那邊的x-pack是OK的,這個時候看一下是否是在elasticsearch啟動的情況下安裝的x-pack,注意,這裡需要停止elasticsearch再安裝。
更改kibana裡的kibana.yml,把“server.host: localhost”改成“server.host: 0.0.0.0”,儲存退出之後。在浏覽器上輸入: http://localhost:5601/ ,可以打開Kibana,此時需要輸入使用者名和密碼登入,預設分别是 elastic 和 changeme。
如果要背景啟動kibana,指令就是:#nohup /kibana安裝路徑/bin/kibana & , 然後點選任意鍵傳回到xshell對話界面,退出請不要直接點選右上方的X,而是exit來退出。
如果輸入#curl 'http://localhost:9200/?pretty',爆錯“missing authentication token for REST request [/?pretty]”,如圖:
這個時候需要修改elasticsearch.yml,手動添加一句:
<code>xpack.security.enabled: </code><code>false</code>
然後重新開機elasticsearch,我上面說過了,如果你選擇了head,那麼就把elasticsearch的x-pack關掉。
參考資料:https://discuss.elastic.co/t/x-pack-5-1-1-error-in-kibana/70397/3
最後的最後,如果您覺得本文對您升職加薪有幫助,那麼請不吝贊助之手,刷一下下面的二維碼,贊助本人繼續寫更多的博文!
本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/2045569