ElasticSearch之Centos7下安装
環(huán)境:
centos7
jdk1.8
elasticsearch5.5.0
?
?
安裝jdk1.8
?
由于elasticsearch是用Java寫的,所以需要先安裝好java環(huán)境,此處省略
?
安裝elasticsearch
?
假設(shè)安裝到/usr/local/software
?
下載解壓
cd /usr/local/software
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.tar.gz
tar -zxvf elasticsearch-5.5.0.tar.gz
mv elasticsearch-5.5.0? elasticsearch
?
?
編輯配置文件config/elasticsearch.yml
cd elasticsearch
vim config/elasticsearch.yml
設(shè)置
network.host: 你自己的服務(wù)器ip
http.port: 9200
?
這里需要注意的是,es 規(guī)定 root 用戶不能啟動(dòng) es,所以需要?jiǎng)?chuàng)建一個(gè)用戶來啟動(dòng) es
?
創(chuàng)建用戶名為 elastic 的用戶
useradd elastic
設(shè)置 elastic 用戶的密碼
passwd 12345678
?
創(chuàng)建 es 的 data 和 logs 目錄
cd elasticsearch
mkdir data
mkdir logs?
?
將 /usr/local/software/elasticsearch 的擁有者設(shè)置為 elastic
chown -R elastic:elastic /usr/local/software/elasticsearch
?
?
切換到 elastic 用戶,啟動(dòng) es
su elastic
加了-d是后臺(tái)啟動(dòng) 不加是前臺(tái)啟動(dòng),第一次不建議后臺(tái)啟動(dòng),前臺(tái)啟動(dòng)可以直觀的看到日志信息
bin/elasticsearch
?
?
可能遇到的錯(cuò)誤
?
問題:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解決方法:
切換到root用戶修改
su root
vim /etc/security/limits.conf
在最后面追加下面內(nèi)容 其中elastic表示剛剛創(chuàng)建的用戶名
elastic hard nofile 65536
elastic soft nofile 65536
修改后切換到es用戶,使用如下命令查看是否修改成功
ulimit -Hn
65536
?
?
問題:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解決方法:
切換到root用戶,進(jìn)入limits.d目錄下修改配置文件
vim /etc/security/limits.d/90-nproc.conf?
soft nproc 1024修改成2048
?
問題:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解決方法:
提高vm.max_map_count 的大小
切換到root用戶
su root
vim /etc/sysctl.conf
在最后面追加下面內(nèi)容
vm.max_map_count=300000
使用 sysctl -p 查看修改后的結(jié)果
sysctl -p
?
問題:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
解決方法:
由于elasticsearch5.x默認(rèn)分配jvm空間大小為2g,修改jvm空間分配
如果使用虛擬機(jī)安裝,內(nèi)存最好不小于2G
vim config/jvm.options
-Xms2g
-Xmx2g
改成??
-Xms256m
-Xmx256m
在阿里云上可能會(huì)出現(xiàn)的問題:
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
解決方法:在es配置文件中加入下面命令即可
vim config/elasticsearch.yml
bootstrap.system_call_filter: false
?
最后再重啟服務(wù)器再啟動(dòng)es!!!
?
?
打開防火墻端口
systemctl start firewalld
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --reload
?
在確定服務(wù)器端口(9200)開啟,elasticsearch啟動(dòng)的情況下查看運(yùn)行情況
ps -ef | grep elasticsearch
也可以在瀏覽器中訪問測(cè)試 http://你的服務(wù)器ip:9200 能打開則表示成功
?
關(guān)閉elasticSearch
elasticsearch的進(jìn)程號(hào)
ps -ef | grep elastic
用kill -9
?
?
tar.gz方式安裝es實(shí)現(xiàn)開機(jī)自啟動(dòng)
?
增加一個(gè)elasticsearch.service文件
vim /usr/lib/systemd/system/elasticsearch.service
內(nèi)容如下:
#!/bin/shexport JAVA_HOME=/usr/local/software/jdk export PATH=$JAVA_HOME/bin:$PATH[Unit] Description=elasticsearch After=network.target [Service] User=elastic Type=forking ExecStart=/usr/local/software/elasticsearch/bin/elasticsearch -d PrivateTmp=true # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=65536# Specifies the maximum number of processes LimitNPROC=2048# Specifies the maximum number of bytes of memory that may be locked into RAM # Set to "infinity" if you use the 'bootstrap.memory_lock: true' option # in elasticsearch.yml and 'MAX_LOCKED_MEMORY=unlimited' in /etc/sysconfig/elasticsearch #LimitMEMLOCK=infinity# Disable timeout logic and wait until process is stopped TimeoutStopSec=0# SIGTERM signal is used to stop the Java process KillSignal=SIGTERM# Send the signal only to the JVM rather than its control group KillMode=process# Java process is never killed SendSIGKILL=no# When a JVM receives a SIGTERM signal it exits with code 143 SuccessExitStatus=143[Install] WantedBy=multi-user.target?
?
設(shè)置文件權(quán)限
chmod +x??elasticsearch.service
?
設(shè)置開機(jī)啟動(dòng)
systemctl enable elasticsearch
啟動(dòng)服務(wù)
systemctl start elasticsearch
?
可能會(huì)提示
which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
?
增加一個(gè)軟連接
ln -s /usr/local/software/jdk/bin/java /usr/bin/java
?
再次執(zhí)行systemctl start elasticsearch
?
可重啟服務(wù)器 測(cè)試是否開機(jī)啟動(dòng)es服務(wù)
?
注:以上相關(guān)軟件路徑 根據(jù)自己實(shí)際情況填寫
轉(zhuǎn)載于:https://www.cnblogs.com/zengnansheng/p/10404699.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的ElasticSearch之Centos7下安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何评估AI在医学影像识别中的应用效果?
- 下一篇: 【译】 WebSocket 协议第十二章