CentOs7上安裝Elasticsearch
一、安裝jdk
1、使用root使用者在/usr目錄下新建java資料夾,把下載的jdk安裝包放到該資料夾下,解壓。本文使用的jdk版本是jdk-8u181-linux-x64.tar.gz
2、配置環境變數 vi /etc/profile 新增如下內容:JAVA_HOME根據實際目錄來 JAVA_HOME=/usr/java/jdk1.8.0_181 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH
3、執行java -vesion 顯示安裝版本1.8.0_181表示安裝成功。
二、安裝Elasticsearch
1、在/opt目錄下新建app資料夾,把Elasticsearch安裝包放到該資料夾下,解壓。本文使用的Elasticsearch版本為elasticsearch-6.4.0.tar.gz。
2、Elasticsearch的配置檔案在Elasticsearch主資料夾的config資料夾下,配置檔案的名稱一般為elasticsearch.yml。下面介紹一下幾個重要的配置項。
cluster.name:叢集名稱,一個叢集下面可以有多個節點。
node.name:節點名稱
path.data:索引儲存位置
path.logs:日誌儲存位置
network.host:繫結的網絡卡ip,需要把該ip改為本次安裝的伺服器ip或者改為0.0.0.0,不然在其他機器上訪問不了9200埠
http.port:http協議埠,預設9200
三、執行Elasticsearch
進入Elasticsearch的bin目錄下,執行./elasticsearch即可啟動,當出現node started的時候說明啟動成功。需要注意的是Elasticsearch為了安全,禁止root使用者執行Elasticsearch,會報cannot run elasticsearch as root錯誤,所以需要建立一個使用者,並把Elasticsearch資料夾的許可權給這個使用者,再切換到這個使用者下執行。新增使用者命令如下:
adduser *** //新增使用者
passwd *** //給使用者設定密碼
新增完使用者之後,用root使用者執行 : chown -R 使用者名稱 資料夾名
在其他電腦的瀏覽器輸入 http://伺服器ip:9200,會顯示Elasticsearch的資訊
需要注意的是必須開通伺服器9200埠的防火牆,不然其他電腦是無法訪問的,centos7開通防火牆命令如下(7以下版本好像是用iptables命令):
新增:firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此引數重啟後失效)
重新載入:firewall-cmd --reload
檢視:firewall-cmd --zone= public --query-port=80/tcp
刪除:firewall-cmd --zone= public --remove-port=80/tcp --permanent
四、常見錯誤
ERROR: bootstrap checks failed 1、max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536] 2、max number of threads [2048] for user [lishang] likely too low, increase to at least [4096]
解決方法:切換到root使用者,編輯limits.conf 新增類似如下內容 vi /etc/security/limits.conf 新增如下內容: * soft nofile 65536 * hard nofile 65536 * soft nproc 4096 * hard nproc 4096
3、max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144] 解決:切換到root使用者修改配置sysctl.conf vi /etc/sysctl.conf 新增下面配置: vm.max_map_count=655360 並執行命令: sysctl -p 然後,重新啟動elasticsearch,即可啟動成功。