当前位置: 首页 > news >正文

Liunx部署ES单机集群

ES 7.17.26 为例

一、单机

下载ES安装包

下载地址

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.26-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.26-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-7.17.26-linux-x86_64.tar.gz.sha512 
tar -xzf elasticsearch-7.17.26-linux-x86_64.tar.gz
cd elasticsearch-7.17.26/ 

修改配置

vim elasticsearch.yml#开启远程访问  
network.host: 0.0.0.0
#单节点模式   初学者建议设置为此模式 
discovery.type: single-node

后台启动

./bin/elasticsearch -d -p pid

验证

http://192.168.65.174:9200

关闭ES

pkill -F pid# 或
# 查找进程ID
pgrep -f 'elasticsearch'  # 输出类似 "12345"# 终止进程(先尝试正常退出)
kill 12345# 若未响应则强制终止(慎用)
kill -9 12345

二、集群

创建用户

adduser es
passwd es

修改host

切换到root用户,修改/etc/hosts

vim  /etc/hosts
192.168.65.174 es-node1  
192.168.65.192 es-node2  
192.168.65.204 es-node3  

修改elasticsearch.yml

node.name: node-1
cluster.name: es-cluster
node.master: true
node.data: true
network.host: 0.0.0.0# 如果服务器存在 Docker 或其他虚拟网卡,需在配置中 排除无关网卡:# 强制传输层使用 ens-33
ransport.host: _ens33:ipv4_  
discovery.seed_hosts: ["es-node1", "es-node2", "es-node3"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
http.cors.enabled: true
http.cors.allow-origin: "*"node.name: node-2
cluster.name: es-cluster
node.master: true
node.data: true
network.host: 0.0.0.0
ransport.host: _ens33:ipv4_
discovery.seed_hosts: ["es-node1", "es-node2", "es-node3"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
http.cors.enabled: true
http.cors.allow-origin: "*"node.name: node-3
cluster.name: es-cluster
node.master: true
node.data: true
network.host: 0.0.0.0
ransport.host: _ens33:ipv4_  
discovery.seed_hosts: ["es-node1", "es-node2", "es-node3"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
http.cors.enabled: true
http.cors.allow-origin: "*"

启动ES服务

bin/elasticsearch -d 

验证集群

http://192.168.65.174:9200/_cat/nodes?pretty
==>
192.168.235.134 37 95 0 0.00 0.01 0.00 cdfhilmrstw - node-1
192.168.235.136 11 70 0 0.15 0.05 0.02 cdfhilmrstw - node-3
192.168.235.135 56 20 0 0.03 0.02 0.00 cdfhilmrstw * node-2

三、配置开机自启

通过Systemd服务(推荐,适用于CentOS 7+/Ubuntu 16.04+)

1. 创建systemd服务文件
在用户es下, 新建一个.service文件,例如es-cluster.service:

sudo vim /etc/systemd/system/es-cluster.service

添加以下内容(根据实际路径和用户调整):

[Unit]
Description=Elasticsearch Cluster Startup Script# 确保网络就绪后启动
After=network.target[Service]
Type=forking
# 建议使用非root用户
User=es
# 用户所属组
Group=es    # 设置工作目录
WorkingDirectory=/home/es/elasticsearch-7.17.26
ExecStart=/home/es/elasticsearch-7.17.26/start.sh# 避免超时误判
TimeoutStartSec=0# 失败时自动重启
Restart=on-failure[Install]
WantedBy=multi-user.target
  • start.sh (使用绝对路径)

#!/bin/bash
# 启动 ES(使用绝对路径)
/home/es/elasticsearch-7.17.26/bin/elasticsearch -d

2. 设置脚本权限与服务配置

  • 确保start.sh有执行权限:
sudo chmod +x /home/es/elasticsearch-7.17.26/start.sh
  • 重载systemd配置并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable es-cluster.service

3. 验证与操作

启动服务:sudo systemctl start es-cluster
查看状态:systemctl status es-cluster
查看日志:journalctl -u es-cluster -b(-b表示仅本次启动日志)

相关文章:

  • C# 数组与字符串:全面解析与应用实践
  • 企业宣传网站系统项目
  • C++?继承!!!
  • 鸿蒙OSUniApp 开发的滑动图片墙组件#三方框架 #Uniapp
  • mobaxterm通过ssh登录docker无图形界面
  • 智能的结构化觉醒:GraphRAG引领AI进入关系世界
  • [yolov11改进系列]基于yolov11引入可改变核卷积AKConv的python源码+训练源码
  • Python优雅执行SSH命令:10种方法+虚拟环境深度实践
  • 防火墙的访问控制
  • Linux网络编程(一)
  • 题目 3341: 蓝桥杯2025年第十六届省赛真题-抽奖
  • 冒泡排序:像煮汤一样让数字「冒泡」
  • 企业级RAG技术实战指南:从理论到落地的全景解析
  • 文件上传白名单绕过(图片马 - 图片二次渲染绕过)
  • 2025 吉林CCPC
  • 缩量资金迁徙下的短期博弈
  • C++11特性:可变参数模板
  • npm/yarn/pnpm安装时Sharp模块报错解决方法
  • Debian 系统 Python 开发全解析:从环境搭建到项目实战
  • 域控账号密码抓取
  • 自己做小程序开个社区团购/百度seo手机
  • 泉州/沈阳seo技术
  • 有哪些可以在网上做兼职的网站/网站被百度收录
  • 爱 做 网站吗/外贸建站seo
  • 网站里的注册怎么做/星链友店
  • 济宁鱼台网站建设/怎么做网络广告推广