ES 安裝 Elasticsearch 7.x 配置;保姆級

  • centos7.x
  • php 7.4
  • Elasticsearch 7.x
  • es文檔
Elasticsearch安裝大同分為兩種方式【官網(wǎng)下載安裝】和【yum安裝】

一、Elasticsearch官網(wǎng)下載

Elasticsearch

根據(jù)自己的需求下載,一般下載的是linux86_64壓縮包,但是它配置麻煩,配置開機(jī)自啟還要自己去init.d寫腳本,建議下載rpm包進(jìn)行安裝。


image.png

上傳scp 安裝包后進(jìn)入所在目錄,通過rpm執(zhí)行安裝

rpm -ivh 安裝包名字

image.png

二、yum安裝

  1. 導(dǎo)入 Elasticsearch GPG KEY:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

  1. 添加elasticsearch的yum repo文件

cd /etc/yum.repos.d/
vim elasticsearch.repo

打開文件后寫入如下內(nèi)容

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://mirror.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
  1. 安裝ES

yum install elasticsearch

如果你想指定ES版本可以使用:

yum list elasticsearch 或者 yum search elasticsearch --showduplicates

指定版本主要是為了后面安裝ik分詞,因?yàn)閕k要和ES保持相同版本

yum install --enablerepo=elasticsearch elasticsearch-7.17.6-1.x86_64
如果搜索不到包嘗試執(zhí)行 yum install elasticsearch-7.17.6-1.x86_64

到此安裝部分完成,如果你現(xiàn)要去執(zhí)行一定報(bào)各種錯(cuò)誤,如下修改配置

yum 安裝完成后的目錄 /usr/share/elasticsearch/;啟動(dòng)es

cd /usr/share/elasticsearch/bin
./elasticsearch

各種奇怪的錯(cuò)誤

  1. org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root。
    此錯(cuò)誤大致含義就是不可以在root用戶下啟動(dòng)ES
    解決方法:
# 添加用戶,我這里叫es
adduser es 
# 給用戶設(shè)置密碼
passwd 123456
# 切換到es用戶下
su es
  1. 這時(shí)切換到es用戶下,又會(huì)報(bào)各種權(quán)限不足,加上權(quán)限就OK了
#./elasticsearch-env:行88: /etc/sysconfig/elasticsearch: 權(quán)限不夠
chown -R es /etc/sysconfig/elasticsearch

#bin/elasticsearch-env: 第 96 行:cd: /etc/elasticsearch: 權(quán)限不夠
chown -R es /etc/elasticsearch

#Exception in thread "main" java.nio.file.AccessDeniedException: /var/lib/elasticsearch
#只要看到AccessDeniedException異常就給它權(quán)限
chown -R es /var/lib/elasticsearch

#Error opening log file '/var/log/elasticsearch/gc.log': Permission denied
#將整個(gè)elasticsearch目錄權(quán)限給它
chown -R es /var/log/elasticsearch

#另外將安裝路徑的權(quán)限給它,這里目前還沒報(bào)錯(cuò),不過報(bào)錯(cuò)是遲早的事
chown -R es /usr/share/elasticsearch
  1. 配置es.yml文件

vim /etc/elasticsearch/elasticsearch.yml

elasticsearch默認(rèn)是不支持跨域的,在末尾添加如下兩行支持跨域

http.cors.enabled: true 
http.cors.allow-origin: "*"

打開并修改訪問ip設(shè)置,不然只有本虛擬機(jī)才能訪問,別的機(jī)器無法訪問

network.host: 0.0.0.0

es節(jié)點(diǎn)名稱

cluster.name: elasticsearch
node.name: es-node0

initial_master_nodes如果不開后面會(huì)報(bào)錯(cuò)

cluster.initial_master_nodes: ["node-1"]
  1. 其它報(bào)錯(cuò)配置
    ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
    bootstrap check failure [1] of [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

大概是說elasticsearch 程序的當(dāng)前max_file_descriptors 的限制為 4096,需要增加到 65536。

首先查看當(dāng)前的大小,運(yùn)行如下兩個(gè)命令查看:

ulimit -Hn
ulimit -Sn

如下都是切換到root用戶下執(zhí)行

vim /etc/security/limits.conf

#es是自己的用戶名,其他的照寫
es hard nofile 65536
es soft nofile 65536

切換回 es 用戶 查看是否修改成功


image.png

內(nèi)存不足會(huì)報(bào)錯(cuò)OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e0c00000, 524288000, 0) failed; error='Not enough space' (errno=12)

這里默認(rèn)4g,已經(jīng)遠(yuǎn)遠(yuǎn)超出了范圍,所以這里改為1g,可按照自己實(shí)際情況修改。

vim /etc/elasticsearch/jvm.options

-Xms1g
-Xmx1g

./elasticsearch方式卻能正常啟動(dòng)

如果想通過 systemctl start elasticsearch.service 啟動(dòng):

vim /usr/lib/systemd/system/elasticsearch.service

#把User值改成es用戶
User=es

重新加載啟動(dòng)文件

systemctl daemon-reload

#啟動(dòng)
systemctl start elasticsearch.service
#停止
systemctl stop elasticsearch.service
#查看啟動(dòng)狀態(tài)
systemctl status elasticsearch.service
#添加到開機(jī)自啟動(dòng)
systemctl enable elasticsearch.service

其它命令

#查看線程
ps -ef |grep elasticsearch

#root下進(jìn)行
kill -9 上面查到的線程ID

瀏覽器輸入你的ip:9200看到有反回值就表示成功了

三、IK安裝

https://github.com/medcl/elasticsearch-analysis-ik/releases?page=3
找到和es相同版本的ik包,下載后scp到服務(wù)器。

cd /usr/share/elasticsearch/plugins

創(chuàng)建ik文件夾

mkdir ik

把下載好的包 unzip到ik文件夾中,注意一定要與es版本相同,不然會(huì)報(bào)錯(cuò),別問我雜知道的

laravel
Logstash、Kibana安裝
https://blog.csdn.net/qq_32596527/article/details/127567618

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容