elasticsearch7.2安裝

今天搞了一把elasticsearch, 安裝了單機服務和一些插件,感覺這個軟件的安裝相較於其他的軟件稍微複雜一點。因爲安裝的過程中可能會有各種報錯需要解決。在此記錄一下。既然是軟件的安裝,還是離不開這四個步驟: 下載, 解壓,配置,啓動。

目前最新的版本是7.7,我裝的是7.2, 因爲下載實在太慢,網太差,就找了下硬盤裏以前下載的7.2版本的安裝包搞的。

下載包,大家可以直接去es官網即可。根據你的機器系統和版本選擇對應的包進行下載。下載後傳到服務器上即可。我下載的tar包。

一. 安裝步驟

將下載好的tar包傳到服務器上指定位置,解壓。

tar xzf elasticsearch-7.2.0-linux-x86_64.tar.gz

 

解壓後出現elasticsearch文件夾。 一般來講直接啓動就行了,但就是有時候會有問題。

啓動命令,直接使用bin下的命令:

./bin/elasticsearch -d

-d代表的是後臺運行。

這時候一般會有一個提示。意思是es7對應的jdk版本是11, 你現在用的jdk8, 希望你以後升級,這個可以忽略。當然也可以處理,處理就是使用jdk11,你也不用自己安裝,es裏自帶了一個jdk,但具體怎麼指定,我還沒試過。

 

接下來我們ps一下,看看有沒有啓動成功

果然沒有成功,去看日誌:  tail -200f logs/elasticsearch.log

報錯原因,es不能使用root用戶啓動。 所以創建一個新用戶。

useradd es   #創建一個叫es的用戶

passwd es   # 給es用戶設置一個密碼,輸入兩次密碼

chown -R es ../elasticsearch-7.2.0  # 給es用戶授權。
su es         # 切換es用戶

su之後,你會發現前邊的用戶變了,代表切換成功

重新啓動。

./bin/elasticsearch -d

ps 一下。

出來一大堆,好像成功了。我們測試一下

curl localhost:9200

出來一堆,好像成功了,此時我們在瀏覽器試一下。 把localhost: 改成服務器ip

訪問不了。因爲es默認只有localhost能訪問,怎麼辦呢,修改配置文件

vim config/elasticsearch.yml

1. 打開network.host 改成 0.0.0.0

2. 打開 node.name

3. 打開cluster.initial_master_nodes: 設置爲node-1

4. 最下邊加兩行,允許跨域。

http.cors.enabled: true

http.cors.allow-origin: "*"

 

重啓服務,先kill, 在重啓。

再ps,發現沒起來,看日誌。 這樣的問題下面可能還會經歷幾次。

果然一堆錯誤。需要修改一些系統參數, 先切換回root用戶

su -

錯誤1: max file descriptors [4096] for elasticsearch process is too low, increase to least [65535]

vim /etc/security/limits.conf  最下面加兩行

* soft nofile 65536

* hard nofile 65536

退出回話,重新連接,執行ulimit -Hn  驗證。

 

接下來不一一展示了,直接列舉錯誤和解決方法

 錯誤: max number of threads [1024] for user [es] is too low, increase to at least [4096]

vim /etc/security/limits.d/90-nproc.conf   下圖紅框改爲4096

錯誤: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least

修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
vi /etc/sysctl.conf
sysctl -p

 

再次啓動成功。 瀏覽器測試

 

 

二. 安裝插件:

1. 安裝head: 

head插件主要是一個可以用於監控和操作es的一個圖形化界面,安裝這個插件,需要先安裝node.js 從官網下載最新的穩定版安裝包,上傳到服務器。安裝比較簡單,這裏不推薦使用yum, 有的yum源裏的node.js版本過低,安裝後升級也比較麻煩,不如索性安裝一個比較新的版本。

解壓: 注意J大寫,這種方式是直接解壓.tar.xz    也可以先用xz -d 解壓,得到一個tar ,在用tar xf 解壓

 tar Jxvf node-v12.16.3-linux-x64.tar.xz  

然後配置兩個軟鏈,也可以配置環境變量:

ln -s /usr/software/node-v12.16.3-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/software/node-v12.16.3-linux-x64/bin/node /usr/local/bin/node

主要目的就是可是識別node, npm命令。 執行完畢之後驗證一下:

node -v

npm -v 看版本信息是否出現

如果缺包,yum安裝一下

 

下載head插件: 地址   https://github.com/mobz/elasticsearch-head

可以下載zip包傳到服務器上解壓, 如果機器上有git , 也可以使用git clone 複製下來。然後要改一個配置,把localhost改爲ip地址。否則head監控的是localhost的地址,如果head和es不在一臺機器上會有問題。參看下面文章。

下載下來之後,cd 進入head 目錄, npm run build 編譯。 npm run start 執行。 也可以使用 grunt server啓動。

參見: https://www.cnblogs.com/yqzc/p/12330453.html

 

2. 安裝ik分詞器。 這個比較簡單,下載之後,解壓到es安裝目錄下的plugin目錄中即可。

ik地址: https://github.com/medcl/elasticsearch-analysis-ik

 

然後重啓es。 

重啓之後:訪問 ip:9100  如果出現下面頁面代表head 和 es都已啓動成功。

 

 

好了,安裝就介紹到這裏。 主要就是中間的砍比較多。還就就是大家一定要注意,es啓動不能使用root用戶。 好了,如果大家安裝上有什麼其他問題,歡迎一起交流討論。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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