关注

Linux aarch64架构安装elasticsearch(图文详细讲解)让你一看就会简单上手elasticsearch的搭建(注: 本篇章是使用安装包安装elasticsearch)

Linux搭建elasticsearch

下载ES安装包

注意:本服务器已经关闭了防火墙,请你确保你的端口9200已经打开,这里对于端口开放和防火墙关闭不做过多的阐述。

# 开放端口
firewall-cmd --add-port=6379/tcp --permanent

# 关闭防火墙
systemctl stop firewalld.service

#永久关闭防火墙
systemctl disable firewalld.service

首先去华为云镜像

image-20240624154205137

选择一个版本点击去之后查看Linux系统

image-20240624154337382

image-20240624154416285

下载符合条件的aarch64位的安装包

image-20240624154525205

然后上传到你的服务器,你可以使用SFTP上传到你的服务器,具体如何上传这里不做过多的阐述。

image-20240624154844860

解压&安装

# 创建文件夹
mkdir elasticsearch-8.8.1

# 解压压缩包(不会显示解压明细)
tar -xzf elasticsearch-8.8.1-linux-aarch64.tar.gz

image-20240624155451778

创建es用户

ES比较特殊不能使用root用户运行,所以我们需要创建一个es的用户确保可以正常的运行改程序

image-20240625102457054

# 创建es用户,密码为es(我的是本地服务器密码很简单无所谓)
sudo useradd es
sudo passwd elasticsearch
image-20240625102826416
# 更新文件权限,递交给es用户
sudo chown -R es:es /elasticsearch-8.8.1/elasticsearch-8.8.1
image-20240625103249563

修改配置

注意:Elasticsearch 8.x 版本已经内置了 OpenJDK,所以你不需要单独安装 Java 环境。你只需要解压 Elasticsearch 包并启动即可。

# 进入文件夹
cd elasticsearch-8.8.1

# 修改配置
vi config/elasticsearch.yml

常见的配置

节点和集群名称

node.name: node-1
cluster.name: my-cluster

网络

network.host: 0.0.0.0
http.port: 9200
# 禁用https启用http
xpack.security.http.ssl.enabled: false

数据和日志目录

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

内存设置(注意:内存设置不在elasticsearch.yal中)

# 内存打开jvm.options设置
-Xms1g
-Xmx1g
image-20240624160852865
# 修改了为0.0.0.0
network.host: 0.0.0.0

# 注释掉了
http.port: 9200

image-20240625144750305

修改了禁止https启用http

xpack.security.http.ssl.enabled: false

使用Esc关闭并且使用(:wq)保存并退出

设置系统文件描述符和虚拟内存区域最大数量

切换到root用户

su root

编辑limits.conf设置文件描述符最大值

vi /etc/security/limits.conf

# 设置文件描述符最大数量
es soft nofile 65535
es hard nofile 65535
image-20240625104023290

编辑sysctl.conf文件设置虚拟内存最大值

# 编辑系统文件
sudo vi /etc/sysctl.conf

# 设置虚拟内存最大值(es最小为262144)
vm.max_map_count=262144

最后刷新配置文件

sudo sysctl -p
image-20240625104521567

验证配置是否生效

# 切换回es用户
su es

# 输入之后你应该看到65535
ulimit -n

# 输入之后你应该看到262144。
sysctl vm.max_map_count

image-20240625105124773

创建ES账号和密码

因为默认es是开启安全验证的

image-20240625151837869
# 你可以选择关闭,这样不用创建ES账号和密码也可以访问到ES
vi config/elasticsearch.yml

xpack.security.enabled: false

或者选择创建一个ES用户

# 确保你还在解压的es文件夹中(创建用户密码不得少于6位)
bin/elasticsearch-users useradd es -p esroot -r superuser

image-20240625153054012


如果创建错了想要删除

#直接输入用户名称即可删除
bin/elasticsearch-users userdel es

启动ES以及配置后台启动和开机启动

我们可以使用简单的方法让ES进行后台的启动

# 切换到es用户
su es

# 后台启动程序
nohup ./bin/elasticsearch > elasticsearch.log 2>&1 &

然后Linux服务器本机发送命令查看是否启动成功(携带刚刚创建的账号和密码请求)

curl -u es:esroot -X GET "localhost:9200/"
image-20240625153645947

然后使用软件请求

  • 选择GET
  • 输入地址和请求的端口号
  • 选择认证选择Basic auth
  • 输入刚刚创建好的账号和密码
image-20240625153931063

设置开机启动并且托管给systemctl

# 切换到root用户
su root

# 创建服务器单元(这样当你启动的时候需要使用elasticsearch名称)
vi /etc/systemd/system/elasticsearch.service
image-20240625161124650

红框,框起来的都是需要你根据你的信息进行修改的,别的不修改不影响程序运行

  [Unit]
  Description=Elasticsearch
  Wants=network-online.target
  After=network-online.target

  [Service]
  Environment=ES_HOME=/elasticsearch-8.8.1/elasticsearch-8.8.1
  Environment=PID_DIR=/var/run/elasticsearch
  EnvironmentFile=-/etc/default/elasticsearch
  WorkingDirectory=/elasticsearch-8.8.1/elasticsearch-8.8.1
  User=es
  Group=es
  ExecStart=/elasticsearch-8.8.1/elasticsearch-8.8.1/bin/elasticsearch
  StandardOutput=journal
  StandardError=inherit
  LimitNOFILE=65536
  TimeoutStopSec=20
  KillMode=process
  Restart=on-failure
  RestartSec=5s

  [Install]
  WantedBy=multi-user.target

理解每个配置项的作用可以帮助你更好地配置和管理Elasticsearch服务。以下是对每个配置项的解释:

  1. Description
    • 描述服务的简短说明,通常用于描述服务的功能或用途。
  2. Documentation
    • 提供服务的官方文档链接,方便查阅相关文档。
  3. WantsAfter
    • Wants 指定服务依赖的目标(target),在这里是 network-online.target,表示服务依赖于网络在线状态。
    • After 指定服务应在哪些目标之后启动,确保在网络在线后才启动Elasticsearch服务。
  4. EnvironmentEnvironmentFile
    • Environment 设置环境变量,例如 ES_HOMEPID_DIR,用于指定Elasticsearch的安装路径和PID文件存放路径。
    • EnvironmentFile 允许从文件中加载环境变量设置,这里 /etc/default/elasticsearch 是一个可能的环境变量文件路径。
  5. WorkingDirectory
    • 指定服务的工作目录,即Elasticsearch执行命令的当前工作目录。
  6. UserGroup
    • UserGroup 指定运行Elasticsearch服务的用户和用户组。建议创建一个专用的 elasticsearch 用户来运行服务,以增强安全性。
  7. ExecStart
    • 指定启动Elasticsearch服务的命令路径和参数,这里是 /elasticsearch-8.8.1/elasticsearch-8.8.1/bin/elasticsearch
  8. StandardOutputStandardError
    • StandardOutput 指定服务的标准输出日志方式,这里配置为输出到journal(Systemd的日志系统)。
    • StandardError 指定服务的标准错误日志方式,配置为继承父进程的标准错误输出。
  9. LimitNOFILE
    • 设置服务允许打开的最大文件描述符数量,这对于Elasticsearch来说是重要的性能调优参数之一。
  10. TimeoutStopSec
    • 设置停止服务的超时时间,单位是秒。在这里配置为20秒,超过这个时间后将强制终止服务进程。
  11. KillMode
    • 指定服务停止时如何发送信号给服务进程,这里配置为 process,表示直接发送信号给进程。
  12. RestartRestartSec
    • Restart 配置服务在发生故障时重新启动的策略,这里配置为 on-failure,即仅在发生失败时重新启动。
    • RestartSec 配置在服务重新启动之前等待的时间间隔,这里配置为5秒。
  13. Install
    • 指定服务的安装信息,WantedBy=multi-user.target 表示当多用户环境启动时,需要启动这个服务。

这些配置项共同作用于Systemd服务单元文件,用于定义Elasticsearch服务的运行环境。

查看ES进程,杀死进程切换系统管理启动

# 查看进程id
ps -ef | grep elasticsearch

# 杀死进程(不建议,但是很方便)
kill -9 xxxxxx

image-20240625161423412

# 刷新配置
sudo systemctl daemon-reload

# 启动es
sudo systemctl start elasticsearch

# 查看es状态
sudo systemctl status elasticsearch

# 设置开机启动
sudo systemctl enable elasticsearch

# 停止es
sudo systemctl stop elasticsearch

# 停止es开机启动
sudo systemctl disable elasticsearch

# 重启es服务
sudo systemctl restart elasticsearch

image-20240625161709370
成功运行elasticsearch!!!至此已经会搭建elasticsearch了。

转载自CSDN-专业IT技术社区

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_41250229/article/details/139963071

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--