(Linux)Elasticsearch安装教程

(Linux)Elasticsearch安装教程本篇主要介绍Elasticsearch-7.12.1的安装方法,以及分析安装、启动过程中的常见问题,并提供解决方案。

image.png Elasticsearch介绍

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

环境

安装Elasticsearch 7.12.1

官网下载地址:www.elastic.co/cn/download…

选择LINUX X86_64: image.png

下载后上传到服务器上,然后解压:

tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz

创建Linux用户

如果已有除root外的其他用户,则跳过此步骤。

由于Elasticsearch默认不支持通过root用户直接启动,所以需要创建用户,例如我的用户elastic。

然后对用户授权:

chown -R elastic /usr/local/software/elasticsearch-7.12.1-linux-x86_64
chmod -R 777 /usr/local/software/elasticsearch-7.12.1-linux-x86_64

Linux下用户的基本操作:

// 创建用户testuser
useradd testuser

// 给已创建的用户testuser设置密码
passwd testuser

说明:新创建的用户会在/home下创建一个用户目录testuser

// 修改用户这个命令的相关参数
usermod --help  

// 删除用户testuser
userdel testuser

// 删除用户testuser所在目录
rm -rf testuser

配置远程访问

编辑conf/elasticsearch.yml

1、修改 network.host 为 0.0.0.0

network.host: 0.0.0.0

2、修改cluster.initial_master_nodes为当前node,默认为注释,放开注释就行了

cluster.initial_master_nodes: ["node-1", "node-2"]

启动Elasticsearch

切换到非root用户,例如我自己创建的elastic用户

su elastic

进入elasticsearch-7.12.1/bin目录,执行

./elasticsearch

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

image.png

访问 http://localhost:9200/ (Elasticsearch的默认端口号是9200)

curl http://localhost:9200/

返回信息中包含了elasticsearch的版本号和lucene的版本号。

image.png

注册服务,设置开机自启动

注册服务

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

填入以下信息

[Unit]
Description=elasticsearch
After=network.target

[Service]
Type=forking
User=elastic
ExecStart=/usr/local/software/elasticsearch-7.12.1-linux-x86_64/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

刷新elasticsearch.service配置信息

systemctl daemon-reload

设置开机启动

systemctl enable elasticsearch.service

当返回类似Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.的消息时,代表注册成功!

使用systemctl管理elasticsearch.service的相关命令

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

遇到错误及解决方法

root用户无法启动ElasticSearch

使用root用户启动报错:

[2021-05-19T15:01:54,427][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [izwz962mggaels00gkk8ftz] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.12.1.jar:7.12.1]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.12.1.jar:7.12.1]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:75) ~[elasticsearch-7.12.1.jar:7.12.1]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:116) ~[elasticsearch-cli-7.12.1.jar:7.12.1]
	at org.elasticsearch.cli.Command.main(Command.java:79) ~[elasticsearch-cli-7.12.1.jar:7.12.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.12.1.jar:7.12.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:81) ~[elasticsearch-7.12.1.jar:7.12.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root

切换其他用户后启动成功:

[root@xxx bin]# su elastic
[elastic@xxx bin]$ ./elasticsearch

参考:《ElasticSearch下用root用户无法启动问题解决》

服务器可用内存没有达到es虚拟机所需内存的默认值

使用非root账号,确保文件夹权限无误后,无法正常启动,命令行提示killed,如下:

[elastic@xxx bin]$ ./elasticsearch
Killed

阅读Elasticsearch官网文档后,在配置目录(/usr/local/software/elasticsearch-7.12.1/config/jvm.options.d)下添加自定义的.options文件(例如:我自己创建了jvm-heap-size.options),然后在.options文件中写入以下内容:

-Xms256m
-Xmx256m

然后我们重新启动ElasticSearch,会发现已经能够正常启动了。

其他启动报错问题请看《Elasticsearch7.X配置远程访问

参考文章

《Linux安装Elasticsearch并注册服务 开机自启》

《Elasticsearch7.X配置远程访问》

今天的文章(Linux)Elasticsearch安装教程分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/23335.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注