由于項目需求,需要在linux平臺搭建一套ES服務(wù)。在搭建過程中,遇到各種各樣的問題。后來都一一解決?,F(xiàn)在要記錄下來這個過程,以及其中遇到的問題,及其解決方法。
一、環(huán)境配置
操作系統(tǒng):Cent OS 7
ElasticSearch版本:1.4.1
JDK版本:1.7
SSH Secure Shell版本:3.2.9
elasticsearch-servicewrapper :ES的服務(wù)插件,一般在linux上使用。
二、操作過程
1. elasticsearch 作為一個系統(tǒng)service應(yīng)用 ,可以安裝elasticsearch-servicewrapper插件。
在https://github.com/elasticsearch/elasticsearch-servicewrapper下載該插件后,解壓縮。將service目錄拷貝到elasticsearch目錄的bin目錄下。運行這個插件的好處是:elasticsearch需要的jvm參數(shù)和其它配置都已經(jīng)配置好了,非常方便。
2. 通過SSH Secure Shell連接工具,將ES和Sevice文件夾上傳到linux系統(tǒng)相應(yīng)目錄。
3. 在linux環(huán)境,進(jìn)入ES目錄的bin/service目錄,如下圖,運行命令sh elasticsearch start
4. 安裝es-head插件
進(jìn)入elasticsearch/bin目錄,輸入命令./plugin –install mobz/elasticsearch-head 安裝head插件。如圖
5. 在瀏覽器中輸入http://localhost:9200,http://localhost:9200/_plugin/head/如下圖所示則ES啟動成功。
6.若是要停止ES服務(wù),則輸入sh elasticsearch stop,則輸出如下圖,則ES成功停止。
三、遇到的問題及其解決方法
1. 在linux上啟動ES時與plugin命令安裝ES-Head插件時,都出現(xiàn)了如下問題。此處以plugin作為例子,來給出解決方法。
發(fā)現(xiàn)這個問題,就用ls -l命令來查看文件的操作權(quán)限,如圖
附:文件的權(quán)限
r — 文件可以被讀取
w — 文件可以被寫入
x — 文件可以被執(zhí)行(如果它是程序的話)
可見,plugin文件,所有者只有讀和寫的權(quán)限,沒有執(zhí)行的權(quán)限。所以需要給這個文件加上可被執(zhí)行的權(quán)限。
應(yīng)用命令chmod +x plugin 來操作
再輸入ls –l 來查看,已經(jīng)具有了X權(quán)限
此時再plugin安裝插件head,則可以正常安裝。
2. 運行es,會提示錯誤,類似一些version error的錯誤。JDK版本若不是7,可能會出現(xiàn)ES啟動不起來的問題。linux 自帶的opensdk7 也最好不要使用。
Elasticsearch依賴Java 7。推薦使用Oracle JDK 1.7.0_55版本。Java的安裝,在各個平臺上都有差異,所以我們不想在這里深入太多細(xì)節(jié)。我只想說,在你安裝Elasticsearch之前,你可以通過以下命令來檢查你的Java版本(如果有需要,安裝或者升級): java –version
3.JDK7安裝后,系統(tǒng)就會具有兩個版本的java,為了確保調(diào)用JAVA7版本,需要修改環(huán)境變量,保證java7的路徑在最前面。
輸入命令:vim ~/.bashrc 打開環(huán)境變量內(nèi)容: