如何在linux环境上部署单机ES(以8.12.2版本为例)

ES安装(以8.12.2版本为例)

首先创建好对应的文件夹 然后在对应的文件夹下执行依次这些命令

1.wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-linux-x86_64.tar.gz

2.wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-linux-x86_64.tar.gz.sha512

3.shasum -a 512 -c elasticsearch-8.12.2-linux-x86_64.tar.gz.sha512

4.tar -xzf elasticsearch-8.12.2-linux-x86_64.tar.gz

5.cd elasticsearch-8.12.2/

这个时候就已经在文件中中解压好了ES并且进入到了ES的文件夹里面

然后进入到config文件夹中进行配置

首先进入到elasticsearch.yml中进行配置

yaml 复制代码
cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

#cluster.initial_master_nodes: ["db"] 要把这个注释掉不然会冲突导致启动报错

然后进入到jvm.options中进行运存的配置,不配置很有可能把服务器的内存吃满导致启动失败,我这里设置的是1gb大小,大家可以根据自己的实际情况来进行配置

这里要注意-Xms1g前面不要有空格!

接下来再到/etc文件夹下找到sysctl.conf文件进行配置,在最后加上这么一段

vm.max_map_count=262144

这里配置好之后保存,然后执行这段命令使其生效
sudo sysctl -p

如果不加的话启动的时候会报错:

2024-03-21T15:35:13,089-ERROR-o.e.b.Elasticsearch node-1 node validation exception

...
bootstrap check failure 1 of 1: max virtual memory areas vm.max_map_count 65530 is too low, increase to at least 262144; for more information see

...

这个时候就已经配置好了,现在要创建另一个用户然后去启动ES,因为ES官方处于安全考虑不允许root用户启动ES

所以输入如下命令来进行创建

创建用户:可以使用 useradd 命令来创建用户
sudo useradd -m myuser

这将创建一个名为 myuser 的用户,并且 -m 选项会自动创建用户的家目录

设置用户密码:可以使用 passwd 命令为用户设置密码
sudo passwd myuser

系统会提示你输入新密码并确认

切换用户:可以使用 su 命令来切换到新创建的用户
su - myuser

切换到这个用户之后进入到 es 的文件夹
cd /home/data/es/elasticsearch-8.12.2

最后启动es (如果不需要后台运行不需要加 -d)
./bin/elasticsearch -d

相关推荐
吹什么轩2 小时前
linux系统复习:僵尸进程与孤儿进程
linux·运维·php
jonyleek2 小时前
JVS数字底座私有化部署实践:Spring Cloud + K8S 实现文档平台开箱即用
elasticsearch·kubernetes·私有化部署·springcloud·minio·jvs企业文档·文档治理
殷忆枫2 小时前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
第404号工位2 小时前
手机到底有没有偷听我们?我抓包了 72 小时,抓到了真凶
linux·人工智能·架构
字节跳动开源2 小时前
ByteDance 2026 上半年 Linux 内核贡献回顾
linux·开源
小此方3 小时前
Linux网络(二十八):从NAT转换到正反向代理:图解内网通信、NAPT端口映射
linux·运维·网络
刚入门的大一新生3 小时前
Linux-进程池
linux·运维·服务器
鱼很腾apoc4 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
刚入门的大一新生4 小时前
Linux-进程间通信1
linux·运维·服务器
张宇Joaquin5 小时前
Linux系统下磁盘扇区512n、512e和4kn的区别
linux·运维·数据库