centos系統環境搭建專欄🔗點擊跳轉
CentOS 7.9安裝Elasticsearch 7.17.6
文章目錄
- CentOS 7.9安裝Elasticsearch 7.17.6
- 1.下載
- 2.上傳
- 3.解壓
- 4.調整es占用內存
- 5.修改es默認Java為本地Java
- 6.修改elasticsearch配置文件
- 7.創建用戶
- 8.Elasticsearch 后臺啟動與關閉
- 9.es管理腳本
- 9.1 關閉elasticsearch
- 9.2 啟動elasticsearch
1.下載
🔗https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-6
若你是centos64位服務器,下載LINUX X86_64,下載后上傳到linux服務器。
2.上傳
上傳至/usr/local/
3.解壓
進入/usr/local/
cd /usr/local/
執行解壓
tar -zxvf elasticsearch-7.17.6-linux-x86_64.tar.gz
4.調整es占用內存
若你電腦性能強勁,這個應該可以不改。
vim /usr/local/elasticsearch-7.17.6/config/jvm.options
修改為1g內存占用。
5.修改es默認Java為本地Java
在當前版本,已經內置jdk,不需要配置本地。這里只分享一個查找本機JDK的安裝路徑的方法。
方式一:用JAVA_HOME
echo $JAVA_HOME
方式二:專門為通過yum安裝的jdk查找
which java
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java
最后查出的/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64/jre/bin/java
才是jdk真正的路徑。
6.修改elasticsearch配置文件
編輯elasticsearch.yml
vim /usr/local/elasticsearch-7.17.6/config/elasticsearch.yml
設置節點名稱
node.name: node-1
集群名
cluster.name: my-application
設置master節點列表
cluster.initial_master_nodes: ["node-1"]
端口
http.port: 9200
允許遠程訪問
network.host: 0.0.0.0
到這里要特別注意!!!
這里我們需要先去/data
目錄下新建文件夾es7
,然后去es7
文件夾下新建文件夾data
和logs
。
這一步的必要在于,如果將來你的es服務做更新升級,默認的data文件夾是存放在elasticsearch原始根目錄下的,那么data文件夾里的數據就會隨著升級而丟失。如果你是生產環境,這就是一個很嚴重的問題了。
path.data: /data/es7/data
path.logs: /data/es7/logs
7.創建用戶
elasticsearch默認不允許以root賬號運行
創建用戶
useradd es
把文件夾分配給組用戶
chown es:es -R /usr/local/elasticsearch-7.17.6
chown es:es -R /data/es7
分配權限 只有具有 root 權限的用戶和es用戶可以讀取、寫入和執行
chmod -R 700 /data/es7
增大es用戶擁有的內存權限
vim /etc/sysctl.conf
在最后一行添加如下
vm.max_map_count=262144
保存退出,刷新配置文件
sysctl -p
切換到es用戶
su es
啟動elasticsearch
cd /usr/local/elasticsearch-7.17.6/bin
./elasticsearch
8.Elasticsearch 后臺啟動與關閉
切換為es用戶
su es
后臺啟動(重啟)
sh /usr/local/elasticsearch-7.17.6/bin/elasticsearch -d
查看進程
ps aux | grep elasticsearch
執行后會看到如下
[es@VM-4-17-centos logs]$ ps aux | grep elasticsearch
es 31876 181 34.7 3856940 1312716 pts/0 Sl 11:52 0:27 /usr/local/elasticsearch-7.17.6/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j2.formatMsgNoLookups=true -Djava.locale.providers=SPI,COMPAT --add-opens=java.base/java.io=ALL-UNNAMED -Djava.security.manager=allow -Xms1g -Xmx1g -XX:+UseG1GC -Djava.io.tmpdir=/tmp/elasticsearch-185143932475254405 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m -XX:MaxDirectMemorySize=536870912 -XX:G1HeapRegionSize=4m -XX:InitiatingHeapOccupancyPercent=30 -XX:G1ReservePercent=15 -Des.path.home=/usr/local/elasticsearch-7.17.6 -Des.path.conf=/usr/local/elasticsearch-7.17.6/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /usr/local/elasticsearch-7.17.6/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
es 31899 0.0 0.1 54520 4448 pts/0 Sl 11:52 0:00 /usr/local/elasticsearch-7.17.6/modules/x-pack-ml/platform/linux-x86_64/bin/controller
es 31983 0.0 0.0 112812 984 pts/0 S+ 11:52 0:00 grep --color=auto elasticsearch
關閉(殺死端口)
kill 31876 31899
查看日志
tail -f /data/es7/logs/my-application.log
9.es管理腳本
但是這樣仍然讓我感到麻煩,es的今后的各種配置伴隨要做大量的重啟工作,我決心創建一個腳本,幫我完成這些復雜的事情。
9.1 關閉elasticsearch
腳本名稱killes.sh,放到/usr/local/elasticsearch-7.17.6/bin/下。
#!/bin/bash# 獲取Elasticsearch進程ID列表
es_pids=$(ps -ef | grep elasticsearch | grep -v grep | awk '{print $2}')# 逐個殺死Elasticsearch進程
for pid in $es_pids; dokill $pid
done
為腳本添加執行權限
chmod +x /usr/local/elasticsearch-7.17.6/bin/killes.sh
關閉elasticsearch
cd /usr/local/elasticsearch-7.17.6/bin
./killes.sh
9.2 啟動elasticsearch
su es
sh /usr/local/elasticsearch-7.17.6/bin/elasticsearch -d