Elasticsearch單機(jī)版本安裝
1.環(huán)境準(zhǔn)備
OS: CentOS Linux release 7.9.2009 (Core)
機(jī)器:10.28.19.107
ES、Kibana安裝版本:7.15.2
Elasticsearch:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
Kibana: https://www.elastic.co/cn/downloads/past-releases#kibana
提前下載好elasticsearch-7.15.2-linux-x86_64.tar.gz
、kibana-7.15.2-linux-x86_64.tar.gz
,上傳至/opt目錄下。
插件:
注意,下載插件時(shí),請(qǐng)與安裝的ES版本保持一至 ,當(dāng)前ES安裝版本為7.17.7,那么下載的插件版本也要為7.17.7。
ik中文分詞器:https://github.com/medcl/elasticsearch-analysis-ik/releases
拼英分詞器:https://github.com/medcl/elasticsearch-analysis-pinyin/releases
同樣,將elasticsearch-analysis-ik-7.15.2.zip
、elasticsearch-analysis-pinyin-7.15.2.zip
安裝包上傳至/opt
目錄下。
Java環(huán)境:
ES依賴于java環(huán)境,請(qǐng)確保機(jī)器上已有安裝java環(huán)境,ES7.x版本對(duì)應(yīng)的是JDK1.8,版本不要弄錯(cuò)。
未安裝可自行下載java安裝包,進(jìn)行安裝。
java國(guó)內(nèi)下載鏡像站:http://www.codebaoku.com/jdk/jdk-oracle-jdk1-8.html
rpm -ivh jdk-8u351-linux-x64.rpm
安裝必要組件:
yum install lrzsz lsof unzip -y
上面組件必須要安裝,為后面的es安裝做準(zhǔn)備。
2.系統(tǒng)優(yōu)化
優(yōu)化inux資源限制配置文件limits.conf
vim /etc/security/limits.conf
添加以下內(nèi)容:
# 進(jìn)程可以最大打開的文件數(shù)
* soft nofile 655350
* hard nofile 655350
# 進(jìn)程可以創(chuàng)建的線程數(shù)
* soft nproc 102400
* hard nproc 409600
# 允許進(jìn)程鎖定內(nèi)存
* soft memlock unlimited
* hard memlock unlimited
- 第一列表示用戶和組(@開頭)。第二列表示軟限制還是硬限制,第三列表示限制的資源類型,第四列表示限制的最大值;
- hard和soft的區(qū)別: soft是一個(gè)警告值,而hard則是一個(gè)真正意義的閥值,超過就會(huì)報(bào)錯(cuò),一般情況下都是設(shè)為同一個(gè)值;
- core是內(nèi)核文件,nofile是文件描述符,noproc是進(jìn)程,一般情況下只限制文件描述符數(shù)和進(jìn)程數(shù)就夠了。
limits.conf詳解
修改Linux系統(tǒng)配置文件sysctl.conf
vim /etc/sysctl.conf
添加以下內(nèi)容:
vm.max_map_count = 262145
fs.file-max=655360
執(zhí)行下面命令,立即生效:
sysctl -p
-
max_map_count: 文件包含限制一個(gè)進(jìn)程可以擁有的VMA(虛擬內(nèi)存區(qū)域)的數(shù)量
-
fs.file-max: 系統(tǒng)中可以同時(shí)打開的文件數(shù)目
開啟端口
這里提前開啟端口,為了方便后續(xù)的測(cè)試驗(yàn)證使用
5601為kibana端口, 9100為head端口, 9200為服務(wù)端口,9300為內(nèi)部節(jié)點(diǎn)之間溝通端口
執(zhí)行下面命令:
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --reload
3.安裝ES
3.1安裝ES
規(guī)劃安裝目錄是/opt
elasticsearch-7.15.2-linux-x86_64.tar.gz
安裝包提前放置在/opt目錄下
cd /opt
tar -xf elasticsearch-7.15.2-linux-x86_64.tar.gz
mv elasticsearch-7.15.2 elasticsearch
mkdir -p /opt/elasticsearch/data
修改es配置文件
vim /opt/elasticsearch/config/elasticsearch.yml
添加以下內(nèi)容,配置文件是yaml語法,注意key與value之間要有空格
# es集群名稱,默認(rèn)elasticsearch,es會(huì)自動(dòng)發(fā)現(xiàn)在同一網(wǎng)段下es,如果在同一網(wǎng)段下有多個(gè)集群,可用這個(gè)屬性來區(qū)分不同的集群
cluster.name: elasticsearch
# 節(jié)點(diǎn)名,默認(rèn)隨機(jī)指定一個(gè)name列表中名字,該列表在es的jar包中config文件夾里name.txt文件中
node.name: es-node0
# 索引數(shù)據(jù)存儲(chǔ)路徑,默認(rèn)es根目錄下data文件夾,可設(shè)置多個(gè)存儲(chǔ)路徑,用逗號(hào)隔開,例:/path/to/data1,/path/to/data2
path.data: /opt/elasticsearch/data
# 設(shè)置日志文件的存儲(chǔ)路徑,默認(rèn)是es根目錄下的logs文件夾
path.logs: /opt/elasticsearch/logs
# 設(shè)置對(duì)外服務(wù)的http端口,默認(rèn)為9200
http.port: 9200
# 網(wǎng)絡(luò)地址
network.host: 0.0.0.0
# es7.x 之后新增的配置,初始化一個(gè)新的集群時(shí)需要此配置來選舉master
cluster.initial_master_nodes: ["es-node0"]
# 7.13以上版本,禁用安全選項(xiàng)
xpack.security.enabled: false
# 內(nèi)部node之間的傳輸層地址
transport.host: localhost
# 指定elasticsearch集群內(nèi)數(shù)據(jù)通訊使用的端口,默認(rèn)情況下為9300
transport.tcp.port: 9300
從5.0開始 elasticsearch 安全級(jí)別提高了,不允許采用root帳號(hào)啟動(dòng), 所以需要添加一個(gè)用戶用來啟動(dòng) elasticsearch,創(chuàng)建es用戶并給elasticsearch安裝目錄賦予權(quán)限。
創(chuàng)建es用戶,并授權(quán)安裝目錄
useradd es
chown -R es:es /opt/elasticsearch
3.2安裝插件
這里安裝下ik中文分詞器
插件、拼英分詞器
插件
elasticsearch-analysis-ik-7.15.2.zip
、elasticsearch-analysis-pinyin-7.15.2.zip
解壓放入ES插件目錄下:
unzip -d /opt/elasticsearch/plugins/ik elasticsearch-analysis-ik-7.15.2.zip
unzip -d /opt/elasticsearch/plugins/pinyin elasticsearch-analysis-pinyin-7.15.2.zip
再次授權(quán)安裝目錄:
chown -R es:es /opt/elasticsearch
3.3創(chuàng)建ES服務(wù)腳本文件
創(chuàng)建ES服務(wù)腳本文件:
tee /usr/lib/systemd/system/elasticsearch.service << \EOF
# 主要用于配置整個(gè)服務(wù)的詳情信息以及服務(wù)依賴,用于快速識(shí)別該服務(wù)的相關(guān)情況以及依賴項(xiàng)目
[Unit]
# 描述這個(gè) Unit 文件的信息
Description=elasticsearch7.15.2
# 文檔地址
Documentation=https://www.elastic.co
# 描述服務(wù)類別,表示本服務(wù)需要在network服務(wù)啟動(dòng)后在啟動(dòng)
After=network.target
# 主要用于配置整個(gè)服務(wù)生命周期的管理行為
[Service]
# 設(shè)置服務(wù)運(yùn)行的用戶
User=es
# 服務(wù)將以fork分叉的方式啟動(dòng),此時(shí)父進(jìn)程將會(huì)退出,子進(jìn)程將成為主進(jìn)程。
Type=simple
# 服務(wù)啟動(dòng)命令,命令需要絕對(duì)路徑
ExecStart=/opt/elasticsearch/bin/elasticsearch
# 表示給服務(wù)分配獨(dú)立的臨時(shí)空間
PrivateTmp=true
# 設(shè)置內(nèi)核可以同時(shí)打開的文件描述符的最大值.單位:n(相當(dāng)于ulimit -n),infinity代表當(dāng)前用戶達(dá)到的上限
LimitNOFILE=65535
# 設(shè)置進(jìn)程數(shù)目:用戶最多可啟動(dòng)的進(jìn)程數(shù)目(相當(dāng)于ulimit -u),infinity代表當(dāng)前用戶達(dá)到的上限
LimitNPROC=4096
# 不自動(dòng)重啟
Restart=no
# 用于配置服務(wù)安裝級(jí)別,當(dāng)我們?cè)O(shè)置服務(wù)在Linux的那種級(jí)別下啟動(dòng)或開機(jī)自啟動(dòng)時(shí)會(huì)加載該部分(典型的當(dāng)chkconfig nginx on或者systemctl enable|disable nginx.service時(shí)會(huì)讀取該部分的配置)
[Install]
# 多用戶,表示多用戶命令行狀態(tài),這個(gè)設(shè)置很重要
WantedBy=multi-user.target
EOF
重新加載服務(wù)、設(shè)置開機(jī)啟動(dòng)、啟動(dòng)服務(wù):
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch
ES停止、重啟命令:
systemctl stop elasticsearch
systemctl restart elasticsearch
測(cè)試訪問ES:
http://10.28.19.110:9200
或者
curl http://127.0.0.1:9200
4.安裝Kibana
4.1安裝Kibana
規(guī)劃安裝目錄是/opt
kibana-7.15.2-linux-x86_64.tar.gz
安裝包提前放置在/opt目錄下
cd /opt
tar -xf kibana-7.15.2-linux-x86_64.tar.gz
mv kibana-7.15.2 elasticsearch-kibana
修改kibana配置文件
vim /opt/elasticsearch-kibana/config/kibana.yml
最下面添加以下內(nèi)容,配置文件是yaml語法,注意key與value之間要有空格
# 服務(wù)名稱,默認(rèn)值:“your-hostname”用于標(biāo)識(shí)此Kibana實(shí)例的可讀顯示名稱
server.name: "kibana"
# 默認(rèn)值:“l(fā)ocalhost”此設(shè)置指定后端服務(wù)器的主機(jī)
server.host: "0.0.0.0"
# kibana中文界面顯示
i18n.locale: "zh-CN"
# Elasticsearch實(shí)例
elasticsearch.hosts: [ "http://10.28.19.110:9200" ]
# 指定Kibana進(jìn)程ID文件的路徑
pid.file: /opt/elasticsearch-kibana/pid
同樣,這里kibana也授權(quán)給es來啟動(dòng)
授權(quán)給es用戶組
chown es:es -R /opt/elasticsearch-kibana
4.2 創(chuàng)建Kibana服務(wù)腳本
創(chuàng)建Kibana服務(wù)腳本文件:
tee /usr/lib/systemd/system/kibana.service << \EOF
# 主要用于配置整個(gè)服務(wù)的詳情信息以及服務(wù)依賴,用于快速識(shí)別該服務(wù)的相關(guān)情況以及依賴項(xiàng)目
[Unit]
Description=kibana7.15.2
# 描述服務(wù)類別,表示本服務(wù)需要在network服務(wù)啟動(dòng)后在啟動(dòng)
After=network.target
# 主要用于配置整個(gè)服務(wù)生命周期的管理行為
[Service]
# 設(shè)置服務(wù)運(yùn)行的用戶
User=es
# 服務(wù)將以fork分叉的方式啟動(dòng),此時(shí)父進(jìn)程將會(huì)退出,子進(jìn)程將成為主進(jìn)程。
Type=simple
# 安裝目錄
WorkingDirectory=/opt/elasticsearch-kibana
# 服務(wù)啟動(dòng)命令,命令需要絕對(duì)路徑
ExecStart=/opt/elasticsearch-kibana/bin/kibana
ExecStop=/usr/bin/kill -15 $MAINPID
ExecReload=/usr/bin/kill -HUP $MAINPID
# 表示給服務(wù)分配獨(dú)立的臨時(shí)空間
PrivateTmp=true
# 限制進(jìn)程使用的文件描述符數(shù)量,等同ulimit -n
LimitNOFILE=65536
# 限制進(jìn)程的數(shù)量,等同于ulimit -u
LimitNPROC=2048
# 等待服務(wù)停止的時(shí)間(以秒為單位)
TimeoutStopSec=0
# 設(shè)置殺死進(jìn)程的第一步使用什么信號(hào),所有可用的信號(hào)詳見 signal(7) 手冊(cè)。默認(rèn)值為SIGTERM信號(hào)。
# 注意,systemd會(huì)無條件的緊跟此信號(hào)之后再發(fā)送一個(gè)SIGCONT信號(hào),以確保干凈的殺死已掛起(suspended)的進(jìn)程。
KillSignal=SIGTERM
# 設(shè)置在單元停止時(shí),殺死進(jìn)程的方法。
# 取值范圍如:control-group, process, mixed, none 默認(rèn)值是 control-group 表示殺死該單元的 cgroup 內(nèi)的所有進(jìn)程(對(duì)于 service 單元,還要先執(zhí)行 ExecStop= 動(dòng)作)
KillMode=process
# 是否在超過 TimeoutStopSec= 時(shí)間后,使用 SIGKILL 或 FinalKillSignal= 信號(hào)殺死依然殘存的進(jìn)程。默認(rèn)值為"yes"
SendSIGKILL=no
# 配置項(xiàng) SuccessExitStatus=143 是為了抑制stop時(shí)報(bào)錯(cuò) Main process exited, code=exited, status=143/n/a
# 這是因?yàn)?java 程序在響應(yīng) SIGTERM 時(shí)不會(huì)并不會(huì)發(fā)回預(yù)期的退出狀態(tài)
# 所以需要將退出代碼 SuccessExitStatus=143 添加到 systemd 服務(wù)文件作為成功退出狀態(tài)來抑制這種報(bào)錯(cuò)
SuccessExitStatus=143
# 用于配置服務(wù)安裝級(jí)別,當(dāng)我們?cè)O(shè)置服務(wù)在Linux的那種級(jí)別下啟動(dòng)或開機(jī)自啟動(dòng)時(shí)會(huì)加載該部分(典型的當(dāng)chkconfig nginx on或者systemctl enable|disable nginx.service時(shí)會(huì)讀取該部分的配置)
[Install]
# 多用戶,表示多用戶命令行狀態(tài),這個(gè)設(shè)置很重要
WantedBy=multi-user.target
EOF
重新加載服務(wù)、設(shè)置開機(jī)啟動(dòng)、啟動(dòng)服務(wù):
systemctl daemon-reload
systemctl enable kibana
systemctl start kibana
Kibana停止、重啟命令:
systemctl stop kibana
systemctl restart kibana
測(cè)試訪問Kibana:
http://10.28.19.110:5601文章來源:http://www.zghlxwxcb.cn/news/detail-413085.html
5.引用Reference
CentOS8搭建nfs服務(wù)
Kubernetes 1.25.4版本安裝
kubeasz安裝kubernetes1.25.5
k8s一鍵安裝redis單機(jī)版
k8s一鍵安裝mysql8單機(jī)版
k8s部署springboot應(yīng)用
Docker安裝及學(xué)習(xí)
Docker制作springboot運(yùn)行應(yīng)用鏡像
Docker制作Java8環(huán)境鏡像
Docker安裝Mysql5.7.31
Docker安裝Mysql8.1.0
Elasticsearch單機(jī)版本安裝
Elasticsearch集群安裝
ELK安裝
Docker安裝ELK
zookeeper集群安裝
Nginx日志切割
RabbitMQ集群安裝
springboot集成prometheus+grafana
windows11安裝android應(yīng)用文章來源地址http://www.zghlxwxcb.cn/news/detail-413085.html
到了這里,關(guān)于Elasticsearch單機(jī)版本安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!