一.相關環境
Centos7,ElasticSearch7.7.1,kibana7.7.1,jdk11
我這里都是下載的tar.gz包,因為下載太慢,沒有去官網下載(下了一個晚上都沒下好,幾kb每秒),直接去華為鏡像站下載
二.搭建jdk11環境
這里不再贅述。
三.搭建ElasticSearch環境(坑賊多,錯一步可能環境搭建失敗)
我這里將所有軟件都放在/opt目錄下了
先解壓,es的軟件包
tar -zxvf elasticsearch-7.7.1-linux-x86_64.tar.gz
進入bin目錄
cd elasticsearch-7.7.1/bin
執行命令:
./elasticsearch
直接報錯,can not run elasticsearch as root,那就直接創建一個用戶。
adduser elk
#授權
chmod 777 -R /opt/elasticsearch-7.7.1
再切換到elk用戶,再執行命令
su elk
./elasticsearch
又報錯?大致意思是說要我們去配置elasticsearch.yml配置文件
vim ../config/elasticsearch.yml
主要設置項:
cluster.name: elk #設置集群的名字,要小寫 node.name: es-1 #設置節點的名字 network.host: 0.0.0.0 #設置ip地址,使外界可以訪問es http.port: 9200 #設置對外服務的端口,默認是9200 #設置在集群中的所有節點名稱,這個節點名稱就是之前所修改的,當然你也可以采用默認的也行,目前是單機,放入一個節點即可 cluster.initial_master_nodes: ["es-1"] bootstrap.memory_lock: false bootstrap.system_call_filter: false #解決跨域問題 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
配置完成后,再執行./elasticsearch命令,這里又會報錯
支持elasticsearch線程的最大文件數和最大虛擬內存不足。所以要配置這些選項。
在root用戶下,修改配置文件。
vim /etc/security/limits.conf
在文檔末尾加上如下配置,保存退出
* soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536
使limits.conf配置生效:
vim /etc/ssh/sshd_config
配置:
UsePAM yes
UseLogin yes
修改sysctl.conf配置,保存並退出。
vim /etc/sysctl.conf
#修改后,使配置生效 sysctl -p
重新開啟一個連接,用elk用戶執行./elasticsearch命令
./elasticsearch #./elasticsearch -d 后台守護進程方式運行
開放端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent # 開放9200端口 firewall-cmd --reload # 配置立即生效
在瀏覽器中打開192.168.10.138:9200
看到如下界面,就說明es已經搭建成功了。
如果,不成功,就reboot,重啟。
查看集群健康狀態:http://192.168.10.138:9200/_cluster/health
四.配置ElasticSearch7開機自啟
cd /etc/init.d vim es-server
編寫啟動腳本
#!/bin/bash #chkconfig: 345 63 37 #description: elasticsearch #processname: elasticsearch-7.7.1 export ES_HOME=/opt/elasticsearch-7.7.1 【這個目錄是你Es所在文件夾的目錄】 case $1 in start) su elk<<! 【es 這個是啟動es的賬戶,如果你的不是這個記得調整】 cd $ES_HOME ./bin/elasticsearch -d -p pid exit ! echo "elasticsearch is started" ;; stop) pid=`cat $ES_HOME/pid` kill -9 $pid echo "elasticsearch is stopped" ;; restart) pid=`cat $ES_HOME/pid` kill -9 $pid echo "elasticsearch is stopped" sleep 1 su elk<<! 【es 這個是啟動es的賬戶,如果你的不是這個記得調整】 cd $ES_HOME ./bin/elasticsearch -d -p pid exit ! echo "elasticsearch is started" ;; *) echo "start|stop|restart" ;; esac exit 0
修改文件權限
chmod 777 es-server
添加系統服務,開機自啟
chkconfig --add es-server
啟動,關閉、重啟服務
service es-server start service es-server stop service es-server restart