學習ES時最新版本已經是6.2,個人覺得學習使用不要用最新的版本,選擇了上個版本5.6學習并運用生産實踐。
ES部署根據官網介紹,看起來很簡單。java8+官方包 ,執行bin/elasticsearch 就ok了。但實際部署過程中有很多需要注意的伺服器細節問題。在此隻記錄linux伺服器安裝部署遇到的問題以及自己搜集的資訊,windows不在考慮範圍内。
1 JAVA8以上版本是必須要準備的。甲骨文官網下載下傳JAVA8版本包,伺服器解壓,配置JAVA運作環境:
vi /etc/profile
#set java environment
JAVA_HOME=/opt/java/jdk1.8.0_161
JRE_HOME=/opt/java/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
2 修改linux伺服器系統配置資訊
因為安全問題elasticsearch 不讓用root使用者直接運作,是以要建立新使用者
第一步:liunx建立新使用者 adduser XXX 然後給建立的使用者加密碼 passwd XXX 輸入兩次密碼。
第二步:切換剛才建立的使用者 su XXX 然後執行elasticsearch 會顯示Permission denied 權限不足。
第三步:給建立的XXX賦權限,chmod 777 * 這個不行,因為這個使用者本身就沒有權限,肯定自己不能給自己付權限。是以要用root使用者登入付權限。
第四步:root給XXX賦權限,chown -R XXX /你的elasticsearch安裝目錄。
2.1 檢查系統配置
添加 /etc/security/limits.conf
xx - nofile 65536
root使用者執行
sysctl -w vm.max_map_count=262144
避免es啟動報max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]錯誤
3 修改es 目錄下config/elasticsearch.yml檔案
重要幾項:
cluster.name :叢集自動識别
node.master :主節點配置
network.host:網絡ip綁定
http.port :預設9200端口
path.data: 資料檔案存放目錄
path.logs:日志存放目錄