我的服務器版本是centos8,安裝的es版本是7.4.2,es基于java先安裝jdk,es下載完成后里面是包含jdk的包的。無須重復下載jdk。
elasticsearch7.4.2版本,提取碼 et7y
1.下載完成后解壓
tar xzvf elasticsearch-7.4.2-linux-x86_64.tar.gz
2.解壓完成后進入到bin文件夾下,并啟動elasticsearch
cd /usr/local/elasticsearch-7.4.2/bin/
su es # 使用創建的賬戶進行啟動[es不能在root賬戶下運行]
./elasticsearch # 啟動elasticsearch
可以提前創建es用戶
# 創建es賬戶
adduser es
# 修改密碼
passwd es
#輸入的密碼會提示不能少于8個字符,并且不能太過簡單(eg:qqq231w2.)
#給es用戶elasticsearch目錄的授權
chown -R es /data/soft/elasticsearch-7.4.2/
添加完成后使用sudo可能會出錯,需要修改修改sudoers文件
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
es ALL=(ALL) ALL #這個是新用戶es
wq!強制保存關閉即可
運行es,
/data/soft/elasticsearch-7.4.2/bin/elasticsearch
可能會出現如下錯誤:
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
這是因為jdk版本太老,需要更新jdk
1.先查看系統jdk版本:
rpm -qa|grep java
老的jdk版本
2.卸載老的jdk
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
驗證一下是否還有jdk
rpm -qa|grep java
沒有內容說明卸載完成,然后配置新版jdk,這里我以安裝es7.4.2自帶的jdk13為例
解壓好的es目錄如下:
解壓后的es目錄
紅框就是自帶的jdk13,將其拷貝到/data/soft目錄,方便管理。
需要編輯配置文件,配置環境變量
vim /etc/profile , ~/.bashrc_profile, ~/.zshrc [這幾個文件看自己使用的shell進行操作]
添加如下:
export JAVA_HOME=/data/soft/jdk # 等號后面就是你的jdk路徑,可以自行修改,需要注意的是不能放在root目錄下,否則es用戶可能沒有權限執行
export JRE_HOME=/data/soft/jdk/jre # 等號后面就是你的jdk路徑,可以自行修改,需要注意的是不能放在root目錄下,否則es用戶可能沒有權限執行
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib # 這里不用修改
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin # 這里不用修改
添加完成后需要刷新生效。執行source /etc/profile 或者 source ~/.bashrc_profile或者source ~/.zshrc
查看java安裝情況:
java -version
出現下圖表示成功:
java安裝成功
再次運行es:
可能會報錯
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
可以嘗試修改es配置文件夾內的jvm.options文件配置,將 -XX:+UseConcMarkSweepGC 改為 -XX:+UseG1GC。并重啟es。
到這一步應該會出現如下信息:
啟動成功
表示啟動成功,重新打開一個終端并輸入:
curl http://127.0.0.1:9200
出現如下輸入表示成功:
成功截圖
需要注意的是如果想通過外網訪問es,則需要開放9200端口[可更改],且需要修改es配置文件:
vim /data/soft/elasticsearch-7.4.2/config/elasticsearch.yml
#設定綁定的ip
network.host: 100.100.100.1【該ip為內網ip】
修改截圖
保存后重啟es
可能出現報錯:
報錯
在 elasticsearch.yml中添加配置項:bootstrap.system_call_filter為false:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
取消下面注釋并保留一個節點:
cluster.initial_master_nodes: ["node-1"]
再次重啟es。無報錯,成功,訪問es端口出現如下頁面。完成:
成功頁面