linux 安裝 Elasticsearch5.6.x 詳細步驟以及問題解決方案

在網上有很多那種ES步驟和問題的解決 方案的,不過沒有一個詳細的整合,和問題的梳理;我就想着閒暇之餘,來記錄一下自己安裝的過程以及碰到的問題和心得;有什麼不對的和問題希望及時拍磚。

第一步:環境

linux 系統 Java 1.8.0_151 elasticsearch-5.6.3

第二步:下載

2.1 JDK的下載可以去官網上直接下載,再次聲明一下不要下載最新版本 JAVA 9 版本本人在次已經踩過坑了

2.2 ES 去官網直接下載,本人使用的是 5.6.3 版本;因爲版本的不同安裝head插件的時候安裝步驟不同;好像是從5.0 以後的版本安裝head 插件的步驟就不一樣了;下面會詳細介紹。

第三步:安裝

3.1安裝JDK環境

前提:查看該系統是否安裝過Java 環境,如果安裝過將其卸載安裝最新的版本,更換Java 的版本也可以這樣去操作。

3.1.1 執行命令 rpm -qa|grep jdk 如果安裝過將會列出相應的版本,如果沒有什麼都不會輸出。如果安裝過使用rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64 使用這個命令需要注意的就是,列出多少個版本插件就要卸載幾個插件;執行完成後;在使用 rpm -qa|grep jdk 去查看一下是否有遺漏的插件沒有卸載。

3.1.2 直接將下載好的jdk-8u151-linux-x64.rpm 安裝包 ;上傳到自己創建好的JAVA文件下;cd 命令進入到JAVA文件下使用rpm 命令進行安裝 rpm -ivh jdk-8u131-linux-x64.rpm 安裝完成後執行 java -version 命令查看安裝是否成功

3.1.3 查看安裝目錄命令,

命令一:which java

命令二:ls -lrt /usr/bin/java

命令三:ls -lrt /etc/alternatives/java

最後將會得出這樣的目錄 /usr/java/jdk1.8.0_151/jre/bin/java

3.1.4 配置環境變量,執行命令 vi /etc/profile;然後進入編輯模式,在文件的最後添加下面的配置,如圖

JAVA_HOME=/usr/javajdk1.8.0_151
JRE_HOME=/usr/java/jdk1.8.0_151/jre
CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

修改完配置後,使用Esc 鍵退出,輸入:wq 保存並退出

3.1.5 執行命令 source /etc/profile 使用環境變量生效

3.1.6 驗證環境變量是否生效,分別執行下面的命令echo $JAVA_HOME echo $CLASSPATH echo $PATH

OK,JDK就這樣安裝好了。

3.2安裝ES

3.2.1 下載ES安裝包elasticsearch-5.6.3.zip 在usr 目錄下創建了es文件夾,將安裝包上傳到裏面,解壓 unzip elasticsearch-5.6.3.zip cd 進入 elasticsearch-5.6.3 文件裏面

3.2.2 創建ES用戶和組(創建elsearch用戶組及elsearch用戶),因爲使用root用戶執行ES程序,將會出現錯誤;所以這裏需要創建單獨的用戶去執行ES 文件;命令如下:

命令一:groupadd elsearch

命令二:useradd elsearch -g elsearch

命令三:chown -R elsearch:elsearch elasticsearch-5.6.3 該命令是更改該文件夾下所屬的用戶組的權限

3.2.3 修改host 文件,執行命令 vi /etc/hosts ,如圖

3.2.4 創建ES數據文件和日誌文件,直接在root用戶根目錄一下創建就可以了

執行命令:mkdir /data

命令二:chown -R elsearch:elsearch /data/

命令三:su - elsearch 切換用戶

命令四:mkdir -p es/data

命令五:mkdir -p es/logs

3.2.5 修改ES配置文件,使用cd命令進入到config 文件下,執行 vi elasticsearch.yml 命令,如圖所示,本人沒有配置集羣,只是簡單的配置了一下;詳細說明可以參考官網;

關於上面的警告都忽略了,然後直接就執行命令

 

 

3.2.6 執行ES文件,進入到bin 目錄下執行 ./elasticsearch 命令就可以了,執行 ./elasticesrarch -d 是後臺運行

如果沒有什麼問題話,就可以安全生成了;然後執行curl 'http://自己配置的IP地址:9200/' 命令,就出現下面的結果

第四步:問題

4.1 1.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是說你的進程不夠用了

解決方案: 切到root 用戶:進入到security目錄下的limits.conf;執行命令 vim /etc/security/limits.conf 在文件的末尾添加下面的參數值:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

前面的*符號必須帶上,然後重新啓動就可以了。執行完成後可以使用命令 ulimit -n 查看進程數

 

2.[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 需要修改系統變量的最大值了

解決方案:切換到root用戶修改配置/etc/sysctl.conf 增加配置值: vm.max_map_count=655360

           執行命令 sysctl -p 這樣就可以了,然後重新啓動ES服務 就可以了

 

第五步:安裝head 插件

5.1 下載head安裝包,下載地址:https://github.com/mobz/elasticsearch-head/archive/master.zip 這是接從git 上下載下來 ,然後上傳到虛擬機上的;由於head 插件不能放在elasticsearch-5.6.3 文件夾裏,head 插件需要單獨放,單獨去執行; 所 以在elasticsearch-5.6.3 同級目錄下解壓了 head 插件;解壓出來的文件名字,如圖

5.2 執行head 插件,需要node.js 的支持,所以,下面先安裝一node.js

5.2.1 執行命令一:curl -sL https://rpm.nodesource.com/setup_8.x | bash -

命令二:yum install -y nodejs

OK,執行完成後,可以使用命令 node -v 驗證是否安裝成功,同時npm 也安裝成功了;執行命令 npm -v 也是可以驗證的。

5.3 安裝grunt ,由於head 插件的執行文件是有grunt 命令來執行的,所以這個命令必須安裝

5.3.1 安裝命令一:npm install grunt --save-dev

命令二:npm install

5.3.2 修改配置文件,cd 進入elasticsearch-head-master 文件夾下,執行命令vim Gruntfile.js文件:增加hostname屬性,設置爲*;如圖:

5.3.3 修改 vim _site/app.js 文件:修改head的連接地址:,如圖所示:

5.3.4 最後一個命令: grunt server & 執行完成後就OK了

5.3.5 涉及到的問題,在網頁上無法正常訪問;查看防火牆是否關閉

5.3.5.1 執行命令service iptables status 查看狀態 ;直接將防火牆關閉就好了 執行命令service iptables stop

最後執行的結果是這樣的,我沒有配置集羣: 注意下面使用的端口號,不在是9200 了 而是head 插件中的 9100 了

看到上面的出現的健康值了嗎,說明的連接還是有問題的,解決方案是修改 cd 命令進入到elasticsearch-5.6.3 /config 文件中 vi elasticsearch.yml

文件下添加 :

http.cors.enabled: true
http.cors.allow-origin: "*"

然後重新執行ES ./elasticsearch 成功起來就可以了,執行結果就是這樣的

 

歡迎各位朋友拍磚,相互學習!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章