Elasticsearch部署

程小虎2025-12-23 21:12:16

🔍 Elasticsearch部署


📌 文档信息

  • 作者: 程小虎
  • 创建时间: 2025-12-04
  • 最近修订: 2025-12-06
  • 版本号: v1.0

✨ 介绍

  • 本教程使用脚本安装,可实现一键安装,整个安装过程只需要一条命令即可
  • 支持 单机、集群 安装

🔧 环境准备

在开始安装之前,请确保满足以下环境要求(生产环境建议 >= 16C 32G):

  • 大于等于3台Linux服务器:每台服务器将作为一个 ES 节点。
  • root用户或配置了sudo免密的用户及密码,且所有节点密码必须相同

✅ 支持的系统

目前脚本实测支持以下Linux发行版

支持 单机/集群,适配 X86_64是否支持
Redhat、CentOS、OracleLinux、RockyLinux、AlmaLinux >= 7 全系
OpenEuler >= 20 全系
Ubuntu >= 20 全系
AnolisOS >= 7 全系
统信 UOS V20 1070a/1070e
银河麒麟 Kylin >= V10 全系
中标麒麟 NeoKylin V7 全系
中科方德 NFSCNS 4.0 全系
磐宁 NingOS V3.0 全系

📝 脚本参数说明

📋 所有参数说明

通过 bash ESShellInstall.sh -h 可以参看脚本所有参数说明

-ou    [必填] 操作用户名,用户配置SSH互信,必须是root用户或者配置sudo免密的用户                      
-oup   [必填] 操作用户对应的密码,用户配置SSH互信                                                   
-sp    [可选] SSH端口号,不传默认为22,若修改过则必须填写修改后的实际端口号                    
-mip   [必填] 安装主路径                                                       
-ip    [必填] 集群节点IP,多个以逗号隔开,例如:-ip 192.168.80.81,192.168.80.82,192.168.80.83,或 -ip 192.168.80.{81..83}            

🚀 单机模式命令示例

bash ESShellInstall.sh \
  -mip "/dhm" `# 安装主目录`

🚀 集群模式命令示例

bash ESShellInstall.sh \
  -ou root `# 操作用户名`\
  -oup 'admin' `# 操作用户对应的密码`\
  -mip "/dhm" `# 安装主目录`\
  -ip "192.168.80.{81..83}" `# 集群节点IP`

🛠️ 安装过程

安装过程中需要使用root用户进行安装,若系统当前用户为非root用户(必须是配置了sudo免密),则先执行下面命令切换为root用户

sudo su - root

执行下面命令,创建文件上传目录

mkdir /soft

将安装包 上传至 /soft 路径下,若一开始登录的时非root用户,可以先上传到 /tmp 路径下,然后移动到 /soft

  • elasticsearch_pkg:所有安装所需的安装包
  • ESShellInstall.sh:Elasticsearch一键安装脚本
[root@huge ~]# cd /soft/Elasticsearch_7.13.2
[root@huge Elasticsearch_7.13.2]# ll
总用量 36
drwxr-xr-x. 2 root root    68 1130 19:23 elasticsearch_pkg
-rw-r--r--. 1 root root 34907 1130 19:25 ESShellInstall.sh

🔍 查看帮助

执行 bash ESShellInstall.sh 查看脚本使用说明

[root@elasticsearch Elasticsearch_7.13.2]# bash ESShellInstall.sh -h

       ██████████ █████         █████████    █████████  ███████████ █████   █████████   █████████  ██████████   █████████   ███████████     █████████  █████   █████
      ░░███░░░░░█░░███         ███░░░░░███  ███░░░░░███░█░░░███░░░█░░███   ███░░░░░███ ███░░░░░███░░███░░░░░█  ███░░░░░███ ░░███░░░░░███   ███░░░░░███░░███   ░░███ 
       ░███  █ ░  ░███        ░███    ░███ ░███    ░░░ ░   ░███  ░  ░███  ███     ░░░ ░███    ░░░  ░███  █ ░  ░███    ░███  ░███    ░███  ███     ░░░  ░███    ░███ 
       ░██████    ░███        ░███████████ ░░█████████     ░███     ░███ ░███         ░░█████████  ░██████    ░███████████  ░██████████  ░███          ░███████████ 
       ░███░░█    ░███        ░███░░░░░███  ░░░░░░░░███    ░███     ░███ ░███          ░░░░░░░░███ ░███░░█    ░███░░░░░███  ░███░░░░░███ ░███          ░███░░░░░███ 
       ░███ ░   █ ░███      █ ░███    ░███  ███    ░███    ░███     ░███ ░░███     ███ ███    ░███ ░███ ░   █ ░███    ░███  ░███    ░███ ░░███     ███ ░███    ░███ 
       ██████████ ███████████ █████   █████░░█████████     █████    █████ ░░█████████ ░░█████████  ██████████ █████   █████ █████   █████ ░░█████████  █████   █████
      ░░░░░░░░░░ ░░░░░░░░░░░ ░░░░░   ░░░░░  ░░░░░░░░░     ░░░░░    ░░░░░   ░░░░░░░░░   ░░░░░░░░░  ░░░░░░░░░░ ░░░░░   ░░░░░ ░░░░░   ░░░░░   ░░░░░░░░░  ░░░░░   ░░░░░ 

注意:本脚本仅用于新服务器上实施部署使用,若需要在已运行的服务器主机上执行,务必确保数据安全,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  

用法: ESShellInstall.sh [选项] 对象 { 命令 | help }                                                                                  

参数说明:                                                                                       

-ou                  [必填] 操作用户名,用户配置SSH互信,必须是root用户或者配置sudo免密的用户                    
-oup                 [必填] 操作用户对应的密码,用户配置SSH互信                                                   
-sp                  [可选] SSH端口号,不传默认为22,若修改过则必须填写修改后的实际端口号                                                   
-mip                 [必填] 安装主路径                                                       
-ip                  [必填] 集群节点IP,多个以逗号隔开,例如:-ip 192.168.80.81,192.168.80.82,192.168.80.83,或 -ip 192.168.80.{81..83}                                                   

单机模式命令示例:                                                                                  

bash ESShellInstall.sh \
  -mip "/dhm" `# 安装主目录`
                                                                                    

集群模式命令示例:                                                                                  

bash ESShellInstall.sh \
  -ou root `# 操作用户名`\
  -oup 'admin' `# 操作用户对应的密码`\
  -mip "/dhm" `# 安装主目录`\
  -ip "192.168.80.{81..83}" `# 集群节点IP`

🚀 单机版安装

根据脚本参数说明,执行下面命令,安装RabbitMQ单机版。执行脚本之后有个模式确认,输入 si 即可开始单机安装

安装成功之后,会打印管理命令以及账号信息

[root@huge Elasticsearch_7.13.2]# bash ESShellInstall.sh \
>   -mip "/dhm" `# 安装主目录`

       ██████████ █████         █████████    █████████  ███████████ █████   █████████   █████████  ██████████   █████████   ███████████     █████████  █████   █████
      ░░███░░░░░█░░███         ███░░░░░███  ███░░░░░███░█░░░███░░░█░░███   ███░░░░░███ ███░░░░░███░░███░░░░░█  ███░░░░░███ ░░███░░░░░███   ███░░░░░███░░███   ░░███ 
       ░███  █ ░  ░███        ░███    ░███ ░███    ░░░ ░   ░███  ░  ░███  ███     ░░░ ░███    ░░░  ░███  █ ░  ░███    ░███  ░███    ░███  ███     ░░░  ░███    ░███ 
       ░██████    ░███        ░███████████ ░░█████████     ░███     ░███ ░███         ░░█████████  ░██████    ░███████████  ░██████████  ░███          ░███████████ 
       ░███░░█    ░███        ░███░░░░░███  ░░░░░░░░███    ░███     ░███ ░███          ░░░░░░░░███ ░███░░█    ░███░░░░░███  ░███░░░░░███ ░███          ░███░░░░░███ 
       ░███ ░   █ ░███      █ ░███    ░███  ███    ░███    ░███     ░███ ░░███     ███ ███    ░███ ░███ ░   █ ░███    ░███  ░███    ░███ ░░███     ███ ░███    ░███ 
       ██████████ ███████████ █████   █████░░█████████     █████    █████ ░░█████████ ░░█████████  ██████████ █████   █████ █████   █████ ░░█████████  █████   █████
      ░░░░░░░░░░ ░░░░░░░░░░░ ░░░░░   ░░░░░  ░░░░░░░░░     ░░░░░    ░░░░░   ░░░░░░░░░   ░░░░░░░░░  ░░░░░░░░░░ ░░░░░   ░░░░░ ░░░░░   ░░░░░   ░░░░░░░░░  ░░░░░   ░░░░░ 

注意:本脚本仅用于新服务器上实施部署使用,若需要在已运行的服务器主机上执行,务必确保数据安全,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  

请选择安装模式 [单机(si)/集群(cl)] : si

ElasticSearch 开始安装,详细安装过程可查看日志: tail -2000f /soft/Elasticsearch_7.13.2/print_shell_install_20251130192959.log                                                                                  

正在进行安装前检查,请稍等......                                                                                  

校验 ElasticSearch 安装包是否上传......已完成 (耗时: 2)
安装 ElasticSearch 单机版......已完成 (耗时: 27)

恭喜!ElasticSearch 一键安装完成(耗时: 29)。请使用以下地址访问:                                                                                  

================================================
    启动服务:systemctl start elasticsearch
    重启服务:systemctl restart elasticsearch
    停止服务:systemctl stop elasticsearch
    IP:192.168.80.12
    端口:9200
================================================

安装过程中,可以新打开一个窗口,执行上面的命令,查看实时安装日志,此处就不展示详细安装日志了

[root@elasticsearch Elasticsearch_7.13.2]# tail -2000f /soft/Elasticsearch_7.13.2/print_shell_install_20251130192959.log

🚀 集群安装

1)根据脚本参数说明,执行下面命令,安装ES集群。执行脚本之后有个模式确认,输入 cl 即可开始集群安装

2)执行前注意一定要根据上面的参数说明,将示例中的参数信息改为,一定不要直接复制粘贴就直接执行

[root@huge Elasticsearch_7.13.2]# bash ESShellInstall.sh \
>   -ou root `# 操作用户名`\
>   -oup 'admin' `# 操作用户对应的密码`\
>   -mip "/dhm" `# 安装主目录`\
>   -ip "192.168.80.{81..83}" `# 集群节点IP`

       ██████████ █████         █████████    █████████  ███████████ █████   █████████   █████████  ██████████   █████████   ███████████     █████████  █████   █████
      ░░███░░░░░█░░███         ███░░░░░███  ███░░░░░███░█░░░███░░░█░░███   ███░░░░░███ ███░░░░░███░░███░░░░░█  ███░░░░░███ ░░███░░░░░███   ███░░░░░███░░███   ░░███ 
       ░███  █ ░  ░███        ░███    ░███ ░███    ░░░ ░   ░███  ░  ░███  ███     ░░░ ░███    ░░░  ░███  █ ░  ░███    ░███  ░███    ░███  ███     ░░░  ░███    ░███ 
       ░██████    ░███        ░███████████ ░░█████████     ░███     ░███ ░███         ░░█████████  ░██████    ░███████████  ░██████████  ░███          ░███████████ 
       ░███░░█    ░███        ░███░░░░░███  ░░░░░░░░███    ░███     ░███ ░███          ░░░░░░░░███ ░███░░█    ░███░░░░░███  ░███░░░░░███ ░███          ░███░░░░░███ 
       ░███ ░   █ ░███      █ ░███    ░███  ███    ░███    ░███     ░███ ░░███     ███ ███    ░███ ░███ ░   █ ░███    ░███  ░███    ░███ ░░███     ███ ░███    ░███ 
       ██████████ ███████████ █████   █████░░█████████     █████    █████ ░░█████████ ░░█████████  ██████████ █████   █████ █████   █████ ░░█████████  █████   █████
      ░░░░░░░░░░ ░░░░░░░░░░░ ░░░░░   ░░░░░  ░░░░░░░░░     ░░░░░    ░░░░░   ░░░░░░░░░   ░░░░░░░░░  ░░░░░░░░░░ ░░░░░   ░░░░░ ░░░░░   ░░░░░   ░░░░░░░░░  ░░░░░   ░░░░░ 

注意:本脚本仅用于新服务器上实施部署使用,若需要在已运行的服务器主机上执行,务必确保数据安全,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  

请选择安装模式 [单机(si)/集群(cl)] : cl

ElasticSearch 开始安装,详细安装过程可查看日志: tail -2000f /soft/Elasticsearch_7.13.2/print_shell_install_20251130193645.log                                                                                  

正在进行安装前检查,请稍等......                                                                                  

校验 ElasticSearch 安装包是否上传......已完成 (耗时: 1)
配置SSH互信......已完成 (耗时: 5)
集群节点初始化配置......已完成 (耗时: 27)
解压 ElasticSearch 安装包......已完成 (耗时: 10)
安装 ElasticSearch......已完成 (耗时: 62)

恭喜!ElasticSearch 一键安装完成(耗时: 105)。请使用以下地址访问:                                                                                  

================================================
    启动服务:systemctl start elasticsearch
    重启服务:systemctl restart elasticsearch
    停止服务:systemctl stop elasticsearch
    IP:192.168.80.81
    端口:9200
================================================                                                                                  

================================================
    启动服务:systemctl start elasticsearch
    重启服务:systemctl restart elasticsearch
    停止服务:systemctl stop elasticsearch
    IP:192.168.80.82
    端口:9200
================================================                                                                                  

================================================
    启动服务:systemctl start elasticsearch
    重启服务:systemctl restart elasticsearch
    停止服务:systemctl stop elasticsearch
    IP:192.168.80.83
    端口:9200
================================================  

安装过程中,可以新打开一个窗口,执行上面的命令,查看实时安装日志,此处就不展示详细安装日志了

[root@elasticsearch01 Elasticsearch_7.13.2]# tail -2000f /soft/Elasticsearch_7.13.2/print_shell_install_20251130193645.log

🔌 连接测试

集群安装完成,执行以下命令查看集群状态,IP可以为集群内任一IP

[root@elasticsearch01 Elasticsearch_7.13.2]# curl -s -X GET "http://192.168.80.81:9200/_cluster/health?pretty"

{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}
最近更新 3/19/2026, 9:06:05 AM