ElasticSearch系列(五)linux环境中搭建ES集群


之前文章中,我们搭建过单节点的es服务 《ElasticSearch系列(一)linux环境ElasticSearch+Kibana(6.8.2)下载安装启动步骤》
本文,我们记录下linux环境中搭建es集群步骤,使用版本7.3.0 。

概念

下图是es集群的逻辑结构和物理结构示意图:
在这里插入图片描述
es在存储数据时,默认分为5个分片(绿色方框),每个分片有一个备份(白色方框),共10个单元,如左图所示;

但是为了高可用,es集群中的备份数据,不会和主数据存在同一个节点上,如右图所示;

一、集群搭建

我们搭建一个3个节点的es集群。在虚拟机中,使用3个端口,模拟3个集群节点。

1. 删除data目录

如果是新下载的es安装包,则不用此步骤。
因为本文使用的es之前是单节点运行的,已经产生了data数据,需要删除,保持节点纯净,否则影响集群运行。

2. 复制3份安装文件

cp -r es-cluster-01/  es-cluster=02

在这里插入图片描述
注意:
因为es不能使用root账户运行,所以安装文件不要像本文一样放在root目录中,可能会因为访问权限问题启动不了;建议非root用户的安装文件,放在/home目录下。

3. 修改elasticsearch.yml配置文件

我们搭建一个3个节点的集群,每个节点都需要修改以下文件内容。

## 集群名称,保证唯一
cluster.name: myes
## 节点名称,必须不一样
node.name: node-1
## 必须为本机ip地址
network.host: 192.168.17.101
## 服务端口号,在同一态机器下必须不一样
transport.tcp.port:9301
## 集群间端口号,在同一态机器下必须不一样
transport.tcp.port:9301

## 设置集群自动发现机器ip集合(老版本es)
discovery.zen.ping.unicast.hosts: ["192.168.17.101:9301","192.168.17.101:9302","192.168.17.101:9303"]
## 也可以使用这个(新版本es)
discovery.seed_hosts: ["192.168.17.101:9301","192.168.17.101:9302","192.168.17.101:9303"]

discovery.zen.ping.unicast.hosts是老版本的es配置文件中的,本文使用的es7.3.0,配置文件中是discovery.seed_hosts。
3.分别启动各个节点

nohup  ./elasticsearch &

二、使用head连接测试

前面文章中,已经介绍了head插件的安装及使用《ElasticSearch系列(三)linux环境中安装配置head插件以及使用方法》

连接任何一个节点都可以,比如连接node-1:192.168.17.101:9201

连接后,我们创建一个5个分片的索引,如下:
在这里插入图片描述
其中,有黑色边框的是主数据,没有黑色边框的是副本;
可以发现,主数据和副本数据,都分布在不同的节点上,集群的健康值是绿色,表示数据存储合理。

相反,在之前搭建的单节点 es服务中,数据存储如下:
在这里插入图片描述
备份数据无处安放,健康值是黄色。

好了,本文就先到这里吧。

概述: Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎,它可以处理大量结构化和非结构化数据。在本文,我们将了解如何在Linux环境搭建Elasticsearch集群。 步骤: 步骤1:安装Java 在安装Elasticsearch之前,Java是必需的。您可以使用以下命令从命令行安装Java: ``` sudo apt-get update sudo apt-get install default-jre ``` 步骤2:下载和安装Elasticsearch 您可以从Elasticsearch官方网站下载最新版本的Elasticsearch。下载完成后,您可以使用以下命令安装它: ``` sudo dpkg -i elasticsearch-7.10.1-amd64.deb ``` 步骤3:配置Elasticsearch 默认情况下,Elasticsearch将在本地主机上运行。您可以通过编辑以下文件来更改默认配置: ``` sudo nano /etc/elasticsearch/elasticsearch.yml ``` 在此文件,您可以更改以下设置: - cluster.name:设置集群名称。 - node.name:设置节点名称。 - network.host:设置网络接口。 - http.port:设置HTTP端口。 步骤4:启动Elasticsearch 要启动Elasticsearch,请使用以下命令: ``` sudo systemctl start elasticsearch ``` 要检查Elasticsearch是否正在运行,请使用以下命令: ``` sudo systemctl status elasticsearch ``` 步骤5:配置Elasticsearch集群 要配置Elasticsearch集群,请编辑以下文件: ``` sudo nano /etc/elasticsearch/elasticsearch.yml ``` 在该文件,您可以使用以下设置来配置集群: - cluster.name:设置集群名称。 - node.name:设置节点名称。 - network.host:设置网络接口。 - http.port:设置HTTP端口。 - discovery.seed_hosts:设置种子主机列表。 在配置文件,您还需要更改以下设置: ``` cluster.initial_master_nodes: ["node-1", "node-2"] ``` 此设置定义了集群的初始主节点。您需要在每个节点上设置不同的名称。 步骤6:启动Elasticsearch集群 要启动Elasticsearch集群,请使用以下命令: ``` sudo systemctl start elasticsearch ``` 要检查Elasticsearch集群是否正在运行,请使用以下命令: ``` curl -X GET "http://localhost:9200/_cluster/health?pretty=true" ``` 此命令将显示有关集群的健康状态信息。 结论: 在本文,我们了解了如何在Linux环境搭建Elasticsearch集群。我们从安装Java开始,然后下载和安装Elasticsearch。接下来,我们配置了Elasticsearch,并启动了它。最后,我们配置了Elasticsearch集群,并启动了它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值