Elasticsearch安装教程(CentOS 7.8)
Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。【详情查看】
Elasticsearch安装准备
Linux CentOS 7.8
JDK 11 安装和教程
Elasticsearch 7.12.1
官网下载地址
下载并解压:
cd /softwares wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-linux-x86_64.tar.gz tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz复制代码
创建用户并授权
# 创建用户elasticuser useradd elasticuser # 给已创建的用户elastic设置密码 passwd elasticuser #对elastic用户授权 (授权目录为安装目录) chown -R elasticuser /software/elasticsearch-7.12.1 chmod -R 777 /software/elasticsearch-7.12.1复制代码
开启远程访问
编辑 config/elasticsearch.yml
#修改network.host 0.0.0.0 network.host: 0.0.0.0复制代码
#修改cluster.initial_master_nodes,开启注释默认即可 cluster.initial_master_nodes: ["node-1", "node-2"]复制代码
启动Elasticsearch服务
切换到上面创建的非root的ES用户,elasticuser
su elasticuser复制代码
切换到elasticsearch-7.12.1/bin , 并执行
cd /softwares/elasticsearch-7.12.1/bin ./elasticsearch复制代码
如果看到started,则表示启动成功
可访问 http://IP地址或域名:9200/
注册服务并设置开机自启
vim /usr/lib/systemd/system/elasticsearch.service复制代码
保存以下信息
[Unit] Description=elasticsearch After=network.target [Service] Type=forking User=elastic ExecStart=/softwares/elasticsearch-7.12.1/bin/elasticsearch -d PrivateTmp=true # 指定此进程可以打开的最大文件数 LimitNOFILE=65535 # 指定此进程可以打开的最大进程数 LimitNPROC=65535 # 最大虚拟内存 LimitAS=infinity # 最大文件大小 LimitFSIZE=infinity # 超时设置 0-永不超时 TimeoutStopSec=0 # SIGTERM是停止java进程的信号 KillSignal=SIGTERM # 信号只发送给给JVM KillMode=process # java进程不会被杀掉 SendSIGKILL=no # 正常退出状态 SuccessExitStatus=143 [Install] WantedBy=multi-user.target复制代码
刷新配置
systemctl enable elasticsearch.service复制代码
Elasticsearch服务相关命令
# 启动服务 systemctl start elasticsearch.service # 重启服务 systemctl restart elasticsearch.service # 停止服务 systemctl stop elasticsearch.service # 禁止开机启动 systemctl disable elasticsearch.service # 启用开机启动 systemctl enable elasticsearch.service复制代码
报错异常和解决方法
使用root用户启动报错:
切换到非root用户,运行elasticsearch
[root@xxx bin]# su elasticuser [elasticuser@xxx bin]$ ./elasticsearch复制代码
内存不足报错:
# Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
killed服务,释放内存
./elasticsearch killed 复制代码
由于 elasticsearch7.12.1 默认分配 jvm 空间大小为4g,修改 jvm空间分配
修改elasticsearch安装目录下的config里的jvm.options
vim config/jvm.options
-Xms1g -Xmx1g #可根据自己服务器内存大小设置合适的内存值 #Xms512m #Xmx512m复制代码
保存配置文件,重启即可
./elasticsearch复制代码
启动报错:
# max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
在/etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144复制代码
执行/sbin/sysctl -p 立即生效
/sbin/sysctl -p复制代码
重新启动elasticsearch即可
./elasticsearch
作者:萧诗先森
链接:https://juejin.cn/post/7028133886651695140