单台服务器部署双节点Elasticsearch配置

单台服务器部署双节点Elasticsearch配置

目标

在单台机器上部署两个 Elasticsearch 7.17.11 节点,并使它们组成一个集群,需要为每个节点进行单独的配置。

部署节点:

  • node1: 192.168.1.19:9200

  • node2: 192.168.1.19:9201

具体步骤:


1. 安装

下载并解压 Elasticsearch 7.17.11安装包。假设解压后的目录为 /data01/elasticsearch


2. 准备两个独立的实例目录

复制原始安装目录,为每个节点创建独立的目录:

cp -r /data01/elasticsearch /data01/node1
cp -r /data01/elasticsearch /data01/node2

3. 配置节点的 elasticsearch.yml

分别编辑两个实例的 config/elasticsearch.yml 文件。

节点 1 配置 (node1/config/elasticsearch.yml)

cluster.name: my-application
node.name: node-1
path.data: /path/to/data/node1
path.logs: /path/to/logs/node1
network.host: 192.168.1.19
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["192.168.1.19:9300", "192.168.1.19:9301"]
cluster.initial_master_nodes: ["node-1", "node-2"]

节点 2 配置 (node2/config/elasticsearch.yml)

cluster.name: my-application
node.name: node-2
path.data: /path/to/data/node2
path.logs: /path/to/logs/node2
network.host: 192.168.1.19
http.port: 9201
transport.port: 9301
discovery.seed_hosts: ["192.168.1.19:9300", "192.168.1.19:9301"]
cluster.initial_master_nodes: ["node-1", "node-2"]

4. 创建独立的数据和日志目录

为每个节点创建单独的数据和日志目录:

mkdir -p /path/to/data/node1 /path/to/data/node2
mkdir -p /path/to/logs/node1 /path/to/logs/node2

5. 启动两个节点

注意: 如果node1或者node2节点的data目录下有内容,需要删除。本人先使用单节点部署并且未修改默认data存放目录,在增加节点配置时未删除节点data目录下内容导致节点一直组不成集群。

分别启动两个节点:

# 启动节点 1
cd /data01
bin/elasticsearch -d

# 启动节点 2
cd /data01
bin/elasticsearch -d

6. 验证集群状态

检查节点列表

curl -X GET "127.0.0.1:9200/_cat/nodes?v"

如果显示两个节点 node1node2,说明集群配置成功。


注意事项

  1. 资源隔离:在单机多节点时,确保 CPU、内存和磁盘空间足够,否则可能导致性能问题。
  2. 端口冲突:每个节点的 HTTP 和传输端口必须唯一(如 9200/9300 和 9201/9301)。
  3. 集群规模:单机多节点通常用于开发测试,生产环境需要分布式部署。
  4. 避免分脑问题:确保 cluster.initial_master_nodes 包含所有主节点的名称,并且不要在配置中遗漏。

通过这些步骤,两个 Elasticsearch 节点应该能够组成一个单机集群,且能够正常工作。

参考

posted @ 2024-11-20 11:52  litayun  阅读(15)  评论(0编辑  收藏  举报