文章介绍了四种本地快速部署Elasticsearch的方法:一、Windows平台传统安装,适用于开发测试,内置JDK免配Java;二、Linux平台传统安装,需创建专用用户并调优系统参数;三、Docker单节点部署,容器化隔离,适合快速验证;四、Docker Compose多节点集群,声明式编排,用于学习分布式架构。

如果您希望在本地快速部署 Elasticsearch 服务,但尚未确定适配的操作系统环境或部署方式,则需根据实际平台选择对应安装路径。以下是覆盖 Windows、Linux 及 Docker 三种主流环境的独立安装方法:
一、Windows 平台传统安装
该方法适用于开发与测试场景,利用官方预编译包直接启动,无需额外依赖管理。Elasticsearch 7.x 及以上版本已内置 JDK,可跳过 Java 环境配置步骤。
1、访问 https://www.elastic.co/downloads/elasticsearch,下载最新版 Windows ZIP 包(如 elasticsearch-8.14.3-windows-x86_64.zip)。
2、解压至非中文、无空格路径,例如:D:\elasticsearch-8.14.3。
3、编辑 config\elasticsearch.yml,取消注释并修改以下行:
cluster.name: my-elasticsearch
node.name: node-1
xpack.security.enabled: false
4、双击运行 bin\elasticsearch.bat 启动服务。
5、打开浏览器访问 http://localhost:9200,返回 JSON 响应即表示启动成功。
二、Linux 平台传统安装
该方法要求创建专用用户并调整系统限制,以满足 Elasticsearch 的安全与资源约束规范,避免因权限或内核参数导致启动失败。
1、使用非 root 用户登录,执行命令创建用户组与用户:
sudo groupadd esgroup
sudo useradd -g esgroup esuser
2、解压安装包至 /usr/local/elasticsearch,并授权:
sudo chown -R esuser:esgroup /usr/local/elasticsearch
3、切换至 esuser,编辑 config/jvm.options,将 -Xms4g 与 -Xmx4g 修改为 -Xms1g 和 -Xmx1g。
4、编辑 config/elasticsearch.yml,设置:
cluster.name: linux-cluster
node.name: linux-node-1
network.host: 0.0.0.0
xpack.security.enabled: false
5、执行 sudo -u esuser ./bin/elasticsearch -d 后台启动。
三、Docker 单节点部署
该方法通过容器化隔离运行时环境,规避操作系统差异与依赖冲突,适合快速验证与 CI/CD 场景,且默认启用单节点发现模式。
1、确保 Docker 守护进程正在运行,执行拉取镜像命令:
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.3
2、运行容器并映射端口与关键参数:
docker run -d \
--name es-single \
-p 9200:9200 -p 9300:9300 \
-e discovery.type=single-node \
-e ES_JAVA_OPTS=-Xms512m -Xmx512m \
-v /opt/es-data:/usr/share/elasticsearch/data \
docker.elastic.co/elasticsearch/elasticsearch:8.14.3
3、等待约 30 秒后,执行 curl http://localhost:9200 验证响应。
四、Docker Compose 多节点集群
该方法通过声明式编排构建最小高可用集群,自动处理网络发现、角色分配与数据持久化,适用于学习分布式架构原理。
1、新建文件 docker-compose.yml,内容如下:
version: '3.8'
services:
es01:
container_name: es01
image: docker.elastic.co/elasticsearch/elasticsearch:8.14.3
environment:
- node.name=es01
- cluster.name=docker-cluster
- discovery.seed_hosts=es02,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data01:/usr/share/elasticsearch/data
ports:
- 9200:9200
es02:
container_name: es02
image: docker.elastic.co/elasticsearch/elasticsearch:8.14.3
environment:
- node.name=es02
- cluster.name=docker-cluster
- discovery.seed_hosts=es01,es03
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data02:/usr/share/elasticsearch/data
es03:
container_name: es03
image: docker.elastic.co/elasticsearch/elasticsearch:8.14.3
environment:
- node.name=es03
- cluster.name=docker-cluster
- discovery.seed_hosts=es01,es02
- cluster.initial_master_nodes=es01,es02,es03
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- data03:/usr/share/elasticsearch/data
volumes:
data01: {}
data02: {}
data03: {}
2、在该文件所在目录执行 docker-compose up -d 启动全部三个节点。
3、使用 curl http://localhost:9200/_cat/nodes?v 查看集群节点列表。


















