win+elasticsearch配置单机多节点伪集群

本文详细介绍如何从软件下载开始,逐步安装配置Elasticsearch及其管理插件es-head和Kibana,包括单机多节点伪集群的配置过程,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.软件下载:

es官方下载地址:https://www.elastic.co/downloads/elasticsearch
所需管理插件,如es-head:https://github.com/mobz/elasticsearch-head
或者kibana:https://www.elastic.co/downloads/kibana

注:es-head要选择和es相对应的版本,我本地装的是es-head

二.安装配置:

首先安装配置好jdk

1.下载好es之后解压到本地任意目录,在此解压到D盘,双击打开运行D:\Program Files\elasticsearch-6.5.4\bin\elasticsearch.bat文件,浏览器中输入:localhost:9200,以下即表示正常运行

如果出现闪退可以通过cmd运行elasticsearch.bat文件查看详细报错信息或者查看日志文件logs
2.配置多节点

1)将es目录copy 3份,分别命名为elasticsearch-6.5.4.2、elasticsearch-6.5.4.3、elasticsearch-6.5.4.4,代表节点2,3,4

2)再分别打开各个目录(D:\Program Files\elasticsearch-6.5.4\config)下的elasticsearch.yml文件,打开配置以下信息

cluster.name: my-application #集群名称

node.name: node-1 #节点名称

network.host: 0.0.0.0

http.port: 9200 #端口号,其他es端口分别为9202,9203,9204

http.cors.enabled: true 
http.cors.allow-origin: "*"
node.master: true
node.data: true
action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*

注:各个es安装目录cluster.name要一样,这样节点才能自动加入集群当中;

copy es安装包后记得删除data\nodes\下的缓存文件,否则节点可能无法加入集群;

一般通过cmd启动运行节点elasticsearch.bat,这样可以直接查看运行状态、报错信息;

节点启动成功效果如下:

配置好的单机4节点的伪集群效果如下:

 

<think>我们有一个多节点集群的配置需求,参考了用户提供的引用内容,特别是引用[1]中的三台虚拟机配置和引用[3]中的详细配置示例。 我们将按照以下步骤进行配置: 步骤1:系统准备(所有节点) - 设置主机名和hosts解析(如引用[1]所示,每个节点有对应的域名) - 优化系统参数(如引用[5]中关于文件描述符和内存锁定的设置) 步骤2:安装Elasticsearch(所有节点) - 使用官方仓库安装相同版本的Elasticsearch 步骤3:配置Elasticsearch(每个节点) - 修改elasticsearch.yml配置文件,设置集群名称、节点名称、网络绑定、端口、发现种子节点等 步骤4:启动集群并验证 下面详细说明:</think>### 在Linux环境下配置Elasticsearch多节点集群部署 #### 1. **环境准备(所有节点执行)** ```bash # 设置主机名解析(参考[1]) sudo tee -a /etc/hosts <<EOF 192.168.243.100 linux100 es-node-100 192.168.243.101 linux101 es-node-101 192.168.243.102 linux102 es-node-102 EOF # 优化系统参数(参考[5]) sudo tee -a /etc/security/limits.conf <<EOF * soft nofile 65536 * hard nofile 131072 * soft nproc 4096 * hard nproc 4096 * soft memlock unlimited * hard memlock unlimited EOF # 安装Java环境 sudo apt install openjdk-11-jdk # Ubuntu/Debian # 或 sudo yum install java-11-openjdk # CentOS/RHEL ``` #### 2. **安装Elasticsearch(所有节点)** ```bash # 添加ES仓库 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list # 安装ES sudo apt update && sudo apt install elasticsearch ``` #### 3. **配置节点参数(每个节点单独配置)** **配置文件路径**:`/etc/elasticsearch/elasticsearch.yml` **节点1 (es-node-100) 配置**: ```yaml # 集群名称(所有节点相同,参考[3][4]) cluster.name: icoding-course # 节点唯一标识(参考[1]) node.name: es-node-100 # 角色配置(参考[3]) node.master: true node.data: true # 网络设置 network.host: 0.0.0.0 http.port: 9200 transport.tcp.port: 9300 # 集群发现(参考[3]) discovery.seed_hosts: ["linux100:9300", "linux101:9300", "linux102:9300"] cluster.initial_master_nodes: ["es-node-100", "es-node-101", "es-node-102"] # 存储路径 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch ``` **节点2 (es-node-101) 配置**: ```diff - node.name: es-node-100 + node.name: es-node-101 - http.port: 9200 + http.port: 9201 - transport.tcp.port: 9300 + transport.tcp.port: 9301 ``` **节点3 (es-node-102) 配置**: ```diff - node.name: es-node-100 + node.name: es-node-102 - http.port: 9200 + http.port: 9202 - transport.tcp.port: 9300 + transport.tcp.port: 9302 ``` #### 4. **启动集群** ```bash # 所有节点执行 sudo systemctl daemon-reload sudo systemctl enable elasticsearch sudo systemctl start elasticsearch # 检查集群状态 curl -XGET 'http://localhost:9200/_cluster/health?pretty' ``` **预期输出**: ```json { "cluster_name" : "icoding-course", "status" : "green", "number_of_nodes" : 3, "active_primary_shards" : 10 } ``` #### 5. **关键配置说明** | **配置项** | **作用** | **示例值** | |------------|----------|------------| | `cluster.name` | 集群唯一标识 | `icoding-course` | | `node.name` | 节点唯一名称 | `es-node-100` | | `discovery.seed_hosts` | 集群节点发现列表 | `["host1:port", "host2:port"]` | | `cluster.initial_master_nodes` | 初始主节点候选列表 | `["node1", "node2"]` | | `node.master` | 是否可成为主节点 | `true`/`false` | | `node.data` | 是否存储数据 | `true`/`false` | #### 6. **防火墙配置(所有节点)** ```bash sudo ufw allow 9200:9202/tcp # API端口范围 sudo ufw allow 9300:9302/tcp # 内部通信端口范围 ``` #### 7. **验证集群状态** ```bash # 查看节点列表 curl -XGET 'http://linux100:9200/_cat/nodes?v' # 检查分片分布 curl -XGET 'http://linux100:9200/_cat/shards?v' ``` > **重要提示**: > 1. 所有节点的ES版本必须完全一致 > 2. 生产环境需配置`bootstrap.memory_lock: true`锁定内存[^5] > 3. 跨数据中心部署需配置`discovery.zen.ping.unicast.hosts`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值