ElasticSearch学习笔记(三)Ubuntu 2204 server elasticsearch集群配置

如果你只是学习elasticsearch的增、删、改、查等相关操作,那么在windows上安装一个ES就可以了。但是你如果想在你的生产环境中使用Elasticsearch提供的强大的功能,那么还是建议你使用Linux操作系统。

本文以在Ubuntu 2204 server中安装elasticsearch 8.11为例向同学们演示如何在Linux操作系统中安装并配置Elasticsearch.

0.前置条件

0.1 准备三台服务器

可以是物理机也可以是虚拟机,三台服务器安装好ubuntu 2204 server,我的三台服务器都是在虚拟机中,以下是我的相关配置。

IP地址节点服务器配置
192.168.50.5node1Elasticsearch[master/data] kibana 8C 16G ubuntu2204
192.168.50.6node2Elasticsearch [master/data]8C 8G ubuntu2204
192.168.50.7node3Elasticsearch [master/data] 8C 8G ubuntu2204

0.2 配置好系统时区,保证3台服务器的时区一致。

0.3 关闭交换内存

修改/etc/fstab文件,将/swap.img那行注释掉,然后重启系统。
在这里插入图片描述
0.4.重命名系统主机名分别为node1,node2,node3,node4

hostnamectl set-hostname <node1>

检查自己的配置。
在这里插入图片描述
从上图可以看到我的准备好了三台服务器,分别为node1,node2,node3,三台服务器都在CST时区,并且关闭了交换内存。
0.5 修改sshd_config配置,允许root远程登录。

1.安装elasticsearch

在每个节点上执行下面的操作,使用deb包安装的elasticsearch 8.11.

⚠️ 安装elasticsearch需要使用普通用户。安装完成后,会在系统中自动添加一个elasticsearch用户和用户组。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.1-amd64.deb
sudo dpkg -i elasticsearch-8.11.1-amd64.deb

在这里插入图片描述
安装非常顺利,由于我们使用的deb包安装,所以安装非常的友好,并且安装完成后可以使用systemctl来管理我们的elasticsearch,下图是我三个节点安装成功的截图,大家一定要仔细阅读安装完成的信息。
在这里插入图片描述
在安装完成输出信息中同学们一定要注意以下几点信息。

  1. 默认安装启用身份验证和授权,并自动配置了传输层和HTTP层的TLS.
  2. 为内置超级用户生成了密码。
  3. 加入节点的命令。
  4. 为kibana实例生成注册令牌的命令。
  5. 启动systemctl服务的命令。

按照提示,我们在每个节点执行以下命令重载systemctl守护并将elasticsearch服务加入开机自启。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch

2.配置node1上的elasticsearch

接下来的操作都是一些配置工作,所以这里我直接切换成root用户了。通过前面安装方式安装的elasticsearch配置文件为/etc/elasticsearch/elasticsearch.yml,接下来我们要经常和这个配置文件打交到。

vim /etc/elasticsearch/elasticsearch.yml

在这里插入图片描述
在节点1的elasticsearch配置我们主要修改以下几个配置项。

  1. 集群名称: cluster.name

    cluster.name: es-cluster
    

    集群中的每个节点的集群名称要保持一致。

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

    node.name: node-1
    

    集群中每个节点的节点名称要保持唯一,比如分别为:node-1,node-2,node-3。

  3. 网络地址:network.host:

    network.host: 192.168.50.5
    

    network.host使用本机的IP地址

  4. 端口号:http.port:

    http.port: 9200
    

    这里保持默认的9200即可,也可以自定义这个端口,注意要大于1024小于65535,并且是系统未使用的端口。

  5. 集群初始化主节点:cluster.initial_master_nodes:

    cluster.initial_master_nodes: ["192.168.50.5"]
    

    这里默认使用主机名作为初始化主节点的配置,建议修改成主机IP。

修改好以上5个配置后,保存配置文件,其它的配置,同学们可以通过阅读配置说明自行修改。

3.启动node1上的elasticsearch

前面我们修改了node1上的配置文件,接下来使用下面的命令启动elasticsearch.

systemctl start elasticsearch

如果启动过程没有报错信息,就OK了,也可以使用以下命令查看elasticsearch的状态。

systemctl status elasticsearch

在这里插入图片描述

4.使用浏览器查看ES状态

在浏览器地址栏中输入https://<node-1.ip>:9200,就会打开ES的登录界面。
在这里插入图片描述
这里的用户名就是elastic,密码就是安装完成时输出信息中给出的密码,如果你不想使用默认密码,也可以使用下面的命令自定义elastic的密码。

/usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u elastic

在这里插入图片描述
刷新es的登录页面,使用新的自定义密码就能登录了,登录后会显示ES集群的一些信息。
在这里插入图片描述

5.配置node2

node2的配置和node1基本相同,以下是node2的配置,按照前面的方法修改node2的elasticsearch.yml文件并保存退出。

vim /etc/elasticsearch/elasticsearch.yml

node2的配置项

cluster.name: es-cluster
node.name: node-2
network.host: 192.168.50.6
http.port: 9200
cluster.initial_master_nodes: ["192.168.50.6"]

⚠️ 配置完成后一定不要启动ES。

6.将node2加入集群

按照ES官方的方式将node2加入集群。

首先在node1上使用下面的命令生成集群令牌令牌。

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node

在这里插入图片描述
然后在node2上使用下面的命令将node2加入集群。

/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token>

就是在node1上生成的那串字符。

/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token eyJ2ZXIiOiI4LjExLjEiLCJhZHIiOlsiMTkyLjE2OC41MC41OjkyMDAiXSwiZmdyIjoiZGE3ZjFiZGY1NWEzMGE0NDViNjQ2ZTc1NDc4YmQ0YmIyNjA2YzUwOGJkYmFmZWRmMDg1OTQ1ODdjOThmOWI2MCIsImtleSI6ImwtS2FVWklCU0ZNc1BNTm5haWRvOklRYlNyM29wU2pLZFA1Rk8za19oTmcifQ==

在这里插入图片描述
上图是我操作的截图,通过上面的操作我们已经将节点node2加入到集群了。

这里注意有一段非常重要的输出提示,我复制出来,后面还会用到。

This node will be reconfigured to join an existing cluster, using the enrollment token that you provided.
This operation will overwrite the existing configuration. Specifically:
  - Security auto configuration will be removed from elasticsearch.yml
  - The [certs] config directory will be removed
  - Security auto configuration related secure settings will be removed from the elasticsearch.keystore
Do you want to continue with the reconfiguration process [y/N]y

使用下面的命令启动node2上的Elasticsearch。

systemctl start elasticsearch

如果启动过程没有报错信息,说明node2已经加入到集群了,接下来我们就可以在浏览器中我们可以查看集群的状态了。
在这里插入图片描述

7.修改node3的配置

修改node3的配置项并保存,需要修改的配置项如下。

cluster.name: es-cluster
node.name: node-3
network.host: 192.168.50.7
http.port: 9200
#cluster.initial_master_nodes: ["node3"]
discovery.seed_hosts: ["192.168.50.5:9300"]

⚠️ 修改完成后保存退出,但是不要启动ES

8.将node3加入集群

我们可以按照node2加入集群的方法将node3加入集群,但是这里我想尝试使用另外一种方法将节点加入到集群。

在使用elasticsearch-reconfigure-node命令将node2加入节点时,有一段输出信息。

This node will be reconfigured to join an existing cluster, using the enrollment token that you provided.
This operation will overwrite the existing configuration. Specifically:
  - Security auto configuration will be removed from elasticsearch.yml
  - The [certs] config directory will be removed
  - Security auto configuration related secure settings will be removed from the elasticsearch.keystore
Do you want to continue with the reconfiguration process [y/N]y

上面的提示信息告诉我们命令elasticsearch-reconfigure-node会自动配置elasticsearch.yml,并删除certs目录中的文件以及elasticsearch.keystore.

其实就是使用node1 certs中的文件覆盖了node2 certs中的文件,node1 的elasticsearch.keystore覆盖了node2的elasticsearch.keystore文件。我们按照这个思路,让node1的相关文件覆盖node3相关文件。

scp /etc/elasticsearch/certs/* root@192.168.50.7:/etc/elasticsearch/certs/

在这里插入图片描述

scp /etc/elasticsearch/elasticsearch.keystore root@192.168.50.7:/etc/elasticsearch/

在这里插入图片描述
启动elasticsearch

systemctl start elasticsearch

如果没有报错信息,说明node3上的ES启动成功。

通过浏览器查看集群状态,发现node3已经加入了集群。
在这里插入图片描述

好了,今天的教程就到此为止,要给儿子做饭了,大家有问题可以留言给我,我看到会给大家回复了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/889118.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB智能优化算法-学习笔记(4)——灰狼优化算法求解旅行商问题【过程+代码】

灰狼优化算法(Grey Wolf Optimizer, GWO)是一种基于灰狼社会行为的元启发式算法,主要模拟灰狼群体的捕猎行为(包括围攻、追捕、搜寻猎物等过程)。多旅行商问题(Multi-Traveling Salesman Problem, mTSP)是旅行商问题(TSP)的扩展,它涉及多个旅行商(车辆)从一个起点城…

使用AI编码,这些安全风险你真的了解吗?

前言 随着AI技术的飞速发展与普及&#xff0c;企业开发人员对AI编码助手工具如Copilot的依赖度日益增强&#xff0c;使用AI编码助手工具虽然能显著提升编程效率与质量&#xff0c;但同时也存在一系列的潜在风险。 许多开发人员可能未意识到&#xff0c;如果他们的现有代码库中…

CMSIS-RTOS V2封装层专题视频,一期视频将常用配置和用法梳理清楚,适用于RTX5和FreeRTOS(2024-09-28)

【前言】 本期视频就一个任务&#xff0c;通过ARM官方的CMSIS RTOS文档&#xff0c;将常用配置和用法给大家梳理清楚。 对于初次使用CMSIS-RTOS的用户来说&#xff0c;通过梳理官方文档&#xff0c;可以系统的了解各种用法&#xff0c;方便大家再进一步的自学或者应用&#x…

数据结构——七种排序(java)实现

文章目录 直接插入排序希尔排序选择排序冒泡排序快速排序归并排序计数排序 直接插入排序 思想&#xff1a; /*** 直接插入排序* 具有稳定性* 时间复杂度为&#xff1a;&#xff08;计算时间复杂度的时候应计算执行次数最多的语句类&#xff0c;在直接插入排序中次数最多的语句…

Ajax ( 是什么、URL、axios、HTTP、快速收集表单 )Day01

AJAX 一、Ajax是什么1.1名词解释1.1.1 服务器1.1.2 同步与异步1. 同步&#xff08;Synchronous&#xff09;2. 异步&#xff08;Asynchronous&#xff09;3. 异步 vs 同步 场景4. 异步在 Web 开发中的常见应用&#xff1a; 1.2 URL 统一资源定位符1.2.1 URL - 查询参数1.2.2 ax…

maven打包常用命令

跳过tset打包 mvn package -Dmaven.test.skiptrue

什么是 ARP 欺骗和缓存中毒攻击?

如果您熟悉蒙面歌王&#xff0c;您就会明白蒙面歌王的概念&#xff1a;有人伪装成别人。然后&#xff0c;当面具掉下来时&#xff0c;您会大吃一惊&#xff0c;知道了这位名人是谁。类似的事情也发生在 ARP 欺骗攻击中&#xff0c;只是令人惊讶的是&#xff0c;威胁行为者利用他…

获取期货股票历史数据以及均线策略分析

【数据获取】银河金融数据库&#xff08;yinhedata.com&#xff09;能够获取国内外金融股票、期货历史行情数据&#xff0c;包含各分钟级别。 【搭建策略】均线策略作为一种广泛应用于股票、期货等市场的技术分析方法&#xff0c;凭借其简单易懂、操作性强等特点&#xff0c;深…

AI绘画Stable Diffusion WebUI 2个超好用的办法-实现图片光照调节,快速生成你想要的光感大片!

大家好&#xff0c;我是画画的小强 在摄影艺术中&#xff0c;灯光的运用对于照片的质量和情感表达至关重要。它不仅能够彰显主题&#xff0c;还能为画面增添深度与立体感&#xff0c;帮助传递感情&#xff0c;以及凸显细节之美。 下面&#xff0c;我将向大家展示如何用AI绘画…

【动态规划-最长公共子序列(LCS)】【hard】【科大讯飞笔试最后一题】力扣115. 不同的子序列

给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 10^9 7 取模。 示例 1&#xff1a; 输入&#xff1a;s “rabbbit”, t “rabbit” 输出&#xff1a;3 解释&#xff1a; 如下所示, 有 3 种可以从 s 中得到 “rabbit”…

kafka创建多个分区时,分区会自动分配到多个不同的broker

1.分区只有一个时所有的消息生产和消费都集中在单个Broker上&#xff0c;多个broker只是提高了抗风险能力&#xff08;因为副本存在不同的broker上&#xff0c;主节点挂掉&#xff0c;可以重新选取副本为主节点&#xff09;。 2.没有消息顺序性要求可以多个分区&#xff0c;注意…

SpringBoot使用esayExcel根据模板导出excel

1、依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.3</version></dependency> 2、模板 3、实体类 package com.skybird.iot.addons.productionManagement.qualityTesting…

获取期货股票分钟级别数据以及均线策略

【数据获取】 银河金融数据库&#xff08;yinhedata.com&#xff09; 能够获取国内外金融股票、期货历史行情数据&#xff0c;包含各分钟级别。 【搭建策略】 均线策略作为一种广泛应用于股票、期货等市场的技术分析方法&#xff0c;凭借其简单易懂、操作性强等特点&#xf…

怎么高效对接SaaS平台数据?

SaaS平台数据对接是指将一个或多个SaaS平台中的数据集成到其他应用或平台中的过程。在当前的数字化时代&#xff0c;企业越来越倾向于使用SaaS平台来管理他们的业务和数据。然而&#xff0c;这些数据通常散布在不同的SaaS平台中&#xff0c;这对于企业数据的整合和分析来说可能…

Centos Stream 9备份与恢复、实体小主机安装PVE系统、PVE安装Centos Stream 9

最近折腾小主机&#xff0c;搭建项目环境&#xff0c;记录相关步骤 数据无价&#xff0c;丢失难复 1. Centos Stream 9备份与恢复 1.1 系统备份 root权限用户执行进入根目录&#xff1a; cd /第一种方式备份命令&#xff1a; tar cvpzf backup.tgz / --exclude/proc --exclu…

04-SpringBootWeb案例(中)

3. 员工管理 完成了部门管理的功能开发之后&#xff0c;我们进入到下一环节员工管理功能的开发。 基于以上原型&#xff0c;我们可以把员工管理功能分为&#xff1a; 分页查询&#xff08;今天完成&#xff09;带条件的分页查询&#xff08;今天完成&#xff09;删除员工&am…

CAN和CANFD如何转换和通信

随着科技的发展&#xff0c;汽车电子和工业领域中CAN通信需要承载数据量也越来越大&#xff0c;传统CAN通信有了向CANFD通信过渡的倾向。在实现过渡的过程中可能会出现自己设备是CAN通信&#xff0c;客户设备是CANFD通信的情况&#xff0c;或者自己设备是CANFD通信&#xff0c;…

红帽7—Mysql路由部署

MySQL Router 是一个对应用程序透明的InnoDB Cluster连接路由服务&#xff0c;提供负载均衡、应用连接故障转移和客户端路 由。 利用路由器的连接路由特性&#xff0c;用户可以编写应用程序来连接到路由器&#xff0c;并令路由器使用相应的路由策略 来处理连接&#xff0c;使其…

爬虫常用正则表达式用法

在网页爬虫中&#xff0c;正则表达式&#xff08;regex&#xff09;是一种非常有用的工具&#xff0c;用于从 HTML、JSON 或其他文本格式中提取特定的数据。下面是一些常见的正则表达式及其在爬虫中的应用场景&#xff1a;

品牌渠道保护:系统与方法并重的长期战役

在当今竞争激烈的市场环境中&#xff0c;品牌的发展离不开对销售渠道的精心拓展与管理。渠道的顺畅与否直接关系到品牌的市场表现和声誉&#xff0c;然而&#xff0c;渠道的混乱却可能引发一系列棘手问题&#xff0c;如低价、乱价、窜货、假货等&#xff0c;这些问题犹如品牌发…