阅读 254

Elasticsearch安装教程(CentOS 7.8)

Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。【详情查看】

Elasticsearch安装准备

  • Linux CentOS 7.8

  • JDK 11 安装和教程

Elasticsearch 7.12.1

官网下载地址

image.png

image.png

下载并解压:

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复制代码

image.png

#修改cluster.initial_master_nodes,开启注释默认即可
cluster.initial_master_nodes: ["node-1", "node-2"]复制代码

image.png

启动Elasticsearch服务

切换到上面创建的非root的ES用户,elasticuser

su elasticuser复制代码

切换到elasticsearch-7.12.1/bin , 并执行

cd /softwares/elasticsearch-7.12.1/bin

./elasticsearch复制代码

如果看到started,则表示启动成功image.png

可访问 http://IP地址或域名:9200/

image.png

注册服务并设置开机自启

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复制代码

image.png

Elasticsearch服务相关命令

# 启动服务
systemctl start elasticsearch.service
# 重启服务
systemctl restart elasticsearch.service
# 停止服务
systemctl stop elasticsearch.service
# 禁止开机启动
systemctl disable elasticsearch.service
# 启用开机启动
systemctl enable elasticsearch.service复制代码

报错异常和解决方法

  • 使用root用户启动报错:

image.png

切换到非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

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐