【ELK】ES单节点升级为集群模式--太细了!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 准备工作
    • 1. 查看现状【单节点】
    • 2. 原节点改集群模式
    • 3. 改es配置文件,增加集群相关配置项
    • 4. *改docker映射的端口*
  • 启动新节点
    • ==5. docker-compose起一个新节点==
  • 验证
    • 6. 验证


前言

前面我们已经解决了ES使用过程中的安全问题,那么,
随着ES的继续使用,单节点难免会出现单点故障,毕竟是个单节点;

那么这篇文章,我们就来解决一下这个问题

没看过上集的兄弟可以先看看上集

【ELK】ES节点开启https【亲测可用】

【ELK】保姆级教程docker部署Elasticsearch+Kibana,必成


开始操作

准备工作

1. 查看现状【单节点】

docker ps

在这里插入图片描述

kibana:可以看出是单节点
在这里插入图片描述

2. 原节点改集群模式

vim dockers-compose.yml

    ······environment:# 删除这个单节点环境变量,es就会升级为集群模式# - discovery.type=single-node- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"- ELASTIC_PASSWORD=Qianyue@2024#- "TZ=Asia/Shanghai"······

3. 改es配置文件,增加集群相关配置项

vim elasticsearch.yml

node.name: es01
network.host: 0.0.0.0http.cors.enabled: true
http.cors.allow-origin: "*"# -------------- 集群相关配置 -------------------
# 集群名
cluster.name: es-cluster# 本节点在集群中的IP(经测试docker部署需要加这个配置,不然无法发现)
network.publish_host: 192.168.56.57# 集群通信端口(docker部署需要加这个配置,不然无法发现,docker映射端口也得改成这个)
transport.port: 19300# 设置集群角色:数据节点+主节资格+远程连接资格
node.roles: [ data, master, remote_cluster_client ]# 集群发现
discovery.seed_hosts:- 192.168.56.56:19300# 引导集群初始化
cluster.initial_master_nodes:- es01- es02# -------------- 集群相关配置 END -------------------#--------------- 安全相关配置 -------------------
# 开启账号密码
xpack.security.enabled: true# 开启浏览器https
xpack.security.http.ssl:enabled: truekeystore.path: certs/http.p12# 开启集群间加密通信
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12#--------------- 安全相关配置 END -------------------

4. 改docker映射的端口

vim dockers-compose.yml

······ports:- "19200:9200"# 节点上配置了集群通信端口,要映射出来- "19300:19300"
······

这个时候就可以重启了,重启后登录到kibana看下

在这里插入图片描述

没有问题,kibana可以正常开起来,进控制台查一下ES的状态

GET /_cat/health?v&format=json

在这里插入图片描述

es正常运行

启动新节点

5. docker-compose起一个新节点

准备工作做完了,可以起一个新节点了!

  • docker-compose.yml

    version: "3"
    services:elasticsearch: restart: alwaysimage: elasticsearch:8.14.3container_name: es02hostname: es02privileged: trueulimits:memlock:soft: -1hard: -1environment:- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"- ELASTIC_PASSWORD=Qianyue@2024#ports:- "19200:9200"- "19300:19300"volumes:- "./es/es02/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml" - "./es/es02/config/certs:/usr/share/elasticsearch/config/certs" - "./es/plugins:/usr/share/elasticsearch/plugins:rw"- "./es/es02/data:/usr/share/elasticsearch/data:rw"- "./es/es02/logs:/usr/share/elasticsearch/logs:rw"
    
  • elasticsearch.yml

    节点名,集群IP,通信端口填写相应的信息

    node.name: es02
    network.host: 0.0.0.0# 开启跨域
    http.cors.enabled: true
    # 表示支持所有域名
    http.cors.allow-origin: "*"# -------------- 集群相关配置 -------------------# 集群名
    cluster.name: es-cluster# 集群中的IP
    network.publish_host: 192.168.56.56
    # 集群通信端口
    transport.port: 19300# 设置集群角色:数据节点+主节资格+远程连接资格
    node.roles: [ data, master, remote_cluster_client ]# 集群发现
    discovery.seed_hosts:- 192.168.56.57:19300# 引导集群初始化
    cluster.initial_master_nodes:- es01- es02# -------------- 集群相关配置 END -------------------#--------------- 安全相关配置 -------------------# 开启账号密码
    xpack.security.enabled: true# 开启浏览器https
    #xpack.security.http.ssl:
    #  enabled: true
    #  keystore.path: certs/http.p12# 开启集群间加密通信
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.client_authentication: required
    xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12#--------------- 安全相关配置 END -------------------

docker-compose up -d 启动节点

验证

6. 验证

ES通过发现机制形成集群,前文我们已经在yml文件中配置好了各种发现参数,那么新节点启动后,就会自动与原节点形成集群:
docker ps
在这里插入图片描述
节点正常启动,登kibana看一下节点数量
在这里插入图片描述

加入成功

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于区块链的安全和隐私

背景 区块链技术在近年来发展迅速,被认为是安全计算的突破,但其安全和隐私问题在不同应用中的部署仍处于争论焦点。 目的 对区块链的安全和隐私进行全面综述,帮助读者深入了解区块链的相关概念、属性、技术和系统。 结构 首先介绍区块链…

webauthn介绍及应用

1、webauthn介绍 官网:https://webauthn.io/ 1.1、什么是webauthn? webauthn即Web Authentication,是一个符合W3C标准的Web认证规范。它通过公私钥加密技术,实现无密码认证,用户仅需通过pin码、指纹、面部识别、usb …

ElasticSearch如何做性能优化?

大家好,我是锋哥。今天分享关于【ElasticSearch如何做性能优化?】面试题。希望对大家有帮助; ElasticSearch如何做性能优化? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Elasticsearch 是一个开源的分布式搜索引擎,广泛用于…

Python 高级游戏开发:构建一个基于 Pygame 的多人在线战斗游戏

在本篇文章中,我们将介绍如何使用 Python 和 Pygame 库开发一个具有多人在线功能的高级游戏。我们将涵盖如何搭建游戏服务器,如何实现客户端-服务器模型,以及如何处理网络通信和游戏逻辑。这不仅能帮助你提升游戏开发技能,还能加深对 Python 网络编程的理解。 一、准备工作…

瑞芯微全新芯片平台RK3506优势详解,高集成低功耗,为工业而生 触觉智能测评

RK3506是瑞芯微Rockchip在2024年第四季度全新推出的Arm嵌入式芯片平台,三核Cortex-A7单核Cortex-M0多核异构设计,CPU频率达1.5Ghz, M0 MCU为200Mhz。 而RK3506芯片平台下的工业级芯片型号RK3506J,具备-40-85℃的工业宽温性能、发热量小&#…

CentOS7 初始化模板

一、下载Centos7的qcow2镜像 CentOS Cloud Images qemu-img.exe convert -f qcow2 -O vmdk CentOS-7-x86_64-GenericCloud-2211.qcow2 centos7.vmdk 二、更改root密码 注意由于有cloud init的原因,按网上进入救援模式的办法无法修改密码,会卡住不动。…

Docker 安装全攻略:从入门到上手

Docker 安装全攻略:从入门到上手 在当今的软件开发与部署领域,Docker 已经成为了一项不可或缺的关键技术。它能够将应用程序及其依赖项打包成轻量级、可移植的容器,极大地简化了开发、测试和部署的流程。本文将详细讲解在不同操作系统下 Doc…

代码随想录算法训练营第六十天 | 图 | A星算法

Day 60 总结 自己实现中遇到哪些困难今日收获,记录一下自己的学习时间 13:00 - 14:00 BFS 题目:127. 骑士的攻击 给定两个坐标,搜索最短路径 使用 BFS,广度搜索,按层搜索找到最短路径 public class Main {public…

【 Sonarqube】可视化Java项目单元测试覆盖率统计框架搭建

一、项目背景: 一个小公司的朋友反应他们那边Java项目单元测试有,但还没有可视化统计覆盖率数据,没法统计就不能直观的看到单测的覆盖率,Java的覆盖率统计框架还是比较成熟,部署起来也不是很难,下面我们逐…

PTA数据结构编程题7-1最大子列和问题

我参考的B站up的思路 题目 题目链接 给定K个整数组成的序列{ N 1 ​ , N 2 ​ , …, N K ​ },“连续子列”被定义为{ N i ​ , N i1 ​ , …, N j ​ },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 1…

jangow-01-1.0.1靶机

靶机 ip:192.168.152.155 把靶机的网络模式调成和攻击机kali一样的网络模式,我的kali是NAT模式, 在系统启动时(长按shift键)直到显示以下界面 ,我们选第二个,按回车。 继续选择第二个,这次按 e 进入编辑页面 接下来,…

在Windows上读写Linux磁盘镜像的一种方法

背景 嵌入式开发中,经常会把系统的Linux磁盘镜像保存到Windows上,以便上传到网盘备份或发送给工厂,但是如果想读取/修改镜像中的某个文件,一般有2种方案: 直接访问 就是用虚拟磁盘软件将镜像文件挂载成磁盘&#xf…

apisix的hmac-auth认证

目录 1、apisix的hmac认证Authorization头信息 2、signature的lua生成源码 3、java生成签证的简单示例 4、postman调用如下 apisix的hmac-auth认证,介绍可以看官方文档 hmac-auth | Apache APISIX -- Cloud-Native API Gateway 照着官方文档,发现生…

某些iphone手机录音获取流stream延迟问题 以及 录音一次第二次不录音问题

一些型号的iphone手机录音获取流stream延迟问题 以及 录音一次第二次不录音问题 延迟问题 navigator.mediaDevices.getUserMedia({ audio: true }) .then((stream) > {console.log(stream) })从开始到获取stream会有将近2s的延迟 导致按下按钮开始录音 会有前…

大数据导论汇总

第一章 作业 2、请阐述把数据变得可用需要经过哪几个步骤. 答:一共要经历三个步骤:数据清洗、数据管理、数据分析。 第一步:数据清洗。使用数据的第一步通常是数据清洗,也就是把数据变成一种可用的状态。这个过程需要借助工具去…

React 组件的通信方式

在 React 应用开发中,组件之间的通信是构建复杂用户界面和交互逻辑的关键。正确地实现组件通信能够让我们的应用更加灵活和易于维护。以下是几种常见的 React组件通信方式。 一、父子组件通信 1. 通过 props 传递数据(父组件向子组件传递数据&#xff0…

高级Python游戏开发:基于Pygame的2D平台跳跃游戏

在这篇文章中,我们将开发一个基于 Python 和 Pygame 的2D平台跳跃游戏。这个游戏将包含多个关卡、玩家角色的跳跃控制以及简单的敌人和障碍物。通过这个项目,你将学习如何使用 Pygame 创建更复杂的游戏逻辑,如何处理碰撞检测以及如何设计关卡系统。 一、项目设计概述 在这…

Hugging Face Dataset的 dataset_info.json 文件详解

Hugging Face Dataset的 dataset_info.json 文件详解 什么是 dataset_info.json 文件? 在使用 Hugging Face(HF)数据集时,dataset_info.json 文件是一个描述数据集及其元数据的重要配置文件。这个文件包含了有关数据集的基本信息…

【JDBC】转账案例

回顾 使用工具类查询表 需求: 查询student表的所有数据,把数据封装到一个集合中 数据准备 #创建表 CREATE TABLE student( sid INT, name VARCHAR(100), age INT, sex VARCHAR(100) ) #插入数据 INSERT INTO student VALUES(1,张三,18,女),(2…

dede-cms关于shell漏洞

一.文件式管理器 1.新建文件 新建一个php文件,内容写个php脚本语言 访问,可以运行 2.文件上传 上传一个php文件,内容同样写一个php代码 访问,运行成功 二.模块-广告管理 来到模块-广告管理——>增加一个新广告 在这里试一下…