docker部署es多节点

news/2025/3/11 0:53:42/文章来源:https://www.cnblogs.com/cgy-home/p/18764056

创建目录修改权限

加载镜像

docker load -i docker.elastic.co_elasticsearch_elasticsearch_8.15.0-arm64.tar.gz
docker load -i docker.elastic.co_kibana_kibana_8.15.0-arm64.tar.gz

创建网络

docker network create es-net

运行临时容器

docker run -d --rm -p 9200:9200 --name es docker.elastic.co/elasticsearch/elasticsearch:8.15.0

复制配置文件

docker cp es:/usr/share/elasticsearch/config/. /usr/local/docker/es/config/node1
docker cp es:/usr/share/elasticsearch/config/. /usr/local/docker/es/config/node2

创建docker-compose.yaml文件

version: '3'
services:elasticsearch-node1:image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0container_name: es-node1environment:- ELASTIC_PASSWORD=123456- "ES_JAVA_OPTS=-Xms8g -Xmx8g"ulimits: #启用内存锁定,防止 JVM 堆内存被交换到磁盘memlock:soft: -1hard: -1volumes:- ./data/node1:/usr/share/elasticsearch/data- ./logs/node1:/usr/share/elasticsearch/logs- ./plugins:/usr/share/elasticsearch/plugins- ./config/node1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.ymlports:- 9200:9200networks:- es-netdeploy:resources:limits:memory: 10gelasticsearch-node2:image: docker.elastic.co/elasticsearch/elasticsearch:8.15.0container_name: es-node2environment:- ELASTIC_PASSWORD=123456- "ES_JAVA_OPTS=-Xms8g -Xmx8g"ulimits: #内存锁定避免es进程的内存被交换到磁盘Swapmemlock:soft: -1hard: -1volumes:- ./data/node2:/usr/share/elasticsearch/data- ./logs/node2:/usr/share/elasticsearch/logs- ./plugins:/usr/share/elasticsearch/plugins- ./config/node2/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.ymlports:- 9201:9200networks:- es-netdeploy:resources:limits:memory: 10gkibana:image: docker.elastic.co/kibana/kibana:8.15.0container_name: kibanaenvironment:- ELASTICSEARCH_HOSTS=https://es-node1:9200- ELASTICSEARCH_USERNAME=elastic- ELASTICSEARCH_PASSWORD=123456- ELASTICSEARCH_SSL_VERIFICATIONMODE=noneports:- 5601:5601networks:- es-netdepends_on:- elasticsearch-node1- elasticsearch-node2deploy:resources:limits:memory: 1.2gvolumes:# 使用绑定挂载,无需定义命名卷
networks:es-net:external: true

 

修改node1/node2下的配置文件elasticsearch.yml

cluster.name: es-cluster
node.name: es-node1
network.host: 0.0.0.0
discovery.seed_hosts:- es-node2
cluster.initial_master_nodes:- es-node1- es-node2
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
indices.query.bool.max_clause_count: 8192
cluster.name: es-cluster
node.name: es-node2
network.host: 0.0.0.0
discovery.seed_hosts:- es-node1
cluster.initial_master_nodes:- es-node1- es-node2
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
indices.query.bool.max_clause_count: 8192

 

停止临时容器启动集群

docker stop es
docker-compose up -d

 

临时容器中elasticsearch.yml文件

cluster.name: "docker-cluster"
network.host: 0.0.0.0#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically      
# generated to configure Elasticsearch security features on 10-03-2025 13:22:59
#
# --------------------------------------------------------------------------------# Enable security features
xpack.security.enabled: truexpack.security.enrollment.enabled: true# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:enabled: truekeystore.path: certs/http.p12# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/transport.p12truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["dedd65e76d91"]#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

 

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

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

相关文章

全链路测试中的影子体系

一、全链路测试的入门理解 1.1什么是全链路测试? 全链路测试是指对系统中所有组件和服务的完整流程进行测试,确保从用户请求到系统响应的每个环节都能正常工作。它覆盖了前端、后端、数据库、第三方服务等所有部分。通俗解释:想象你在网上购物,从搜索商品到下单、支付、收货…

Linux rc.local rc.d All In One

Linux rc.local & rc.d All In One Linux 系统开机/登录自启动配置文件 /etc/rc.local /etc/rc.dLinux rc.local & rc.d All In OneLinux 系统开机/登录自启动配置文件rc.localRaspberry Pi$ cat /etc/rc.localrc.dCentOS / Ubuntu$ ls -al /etc/rc.ddemos eric@rpi3b:…

基本进程调度算法

本文讨论了硬件和操作系统是如何支持进程调度的,并列举了一些进程调度算法。希望本文能帮助读者快速建立起对进程调度的认识。在下一篇文章中,我们将不使用这个假设,再给出一些调度策略。写在前面 在了解了进程的基本概念之后,我们开始学习进程调度算法。本文讨论了硬件和操…

FastAPI 自定义参数验证器完全指南:从基础到高级实战

title: FastAPI 自定义参数验证器完全指南:从基础到高级实战 date: 2025/3/11 updated: 2025/3/11 author: cmdragon excerpt: 本教程深入探讨 FastAPI 中自定义参数验证器的使用,特别是通过 Field 函数进行数据校验。从基础概念到高级用法,通过详细的代码示例、课后测验和…

B端、G端需求调研流程

与C端的流程不同,B端和G端之类的产品,在需求调研阶段就有较多差异。这篇文章,我们来看看作者分享的这些经验。需求调研流程主要包含“调研前准备”、“调研中过程”、“调研后输出”三块内容。调研前:准备 第一步:沟通项目情况 在产品正式需求调研前,相信已经有售前初步跟…

Hetao P1287 小核桃玩核桃棋 题解 [ 蓝 ] [ 观察 ] [ 二维 dp ] [ 容斥原理 ]

很厉害的观察性质,加上 dp 辅助计数的题。小核桃玩核桃棋:质量挺高的一道 dp,好像是搬的某场神秘 ICPC 的?观察 首先我们观察最优解有什么性质,显然这个问题就是要我们选择一些点覆盖所有的行与列。贪心地考虑,不难想出我们从 \((1,1)\) 开始按照对角线来放置,就一定能取…

GAMMA: Revisiting Template-based Automated Program Repair via Mask Prediction 论文笔记

介绍 (1) 发表 2023-09 ASE23 (2) 背景 基于模版的 APR 采用了由人类专家手工制作的维修模式将错误代码片段转变为正确代码片段,被认为是最先进的,大量研究专门用于模版提取方案。然而以前的工作显示出相当数量的错误无法修复,因为相关的错误代码在本地文件中不可用基于深度…

基于模糊PID控制的六步逆变器供电无刷直流电机调速simulink仿真

1.课题概述基于模糊PID控制的六步逆变器供电无刷直流电机调速simulink仿真.将仿真结果和传统的PID控制器的仿真结果进行对比。2.系统仿真结果 (完整程序运行后无水印)1.转速对比,并局部放大显示2.电流对比,并局部放大显示3.电压对比,并局部放大显示4.Te对比,并局部放大显…

Xshell连接虚拟机

Xshell连接Linux虚拟机为了熟悉设用Xshell,但是没卖远程虚拟机,今天使用Xshell连接虚拟机先安装好Xshell进入虚拟机root用户在Linux中输入ip addr指令在输入vi /etc/sysconfig/network-scripts/ifcfg-ens33这里的ens33以上面红框的为准这里要把ONBOOT赋值yes,到这里发现自己…

泵浦光与斯托克斯光相遇耦合效应的matlab模拟与仿真

1.程序功能描述泵浦光与斯托克斯光相遇耦合效应的matlab模拟与仿真. 2.测试软件版本以及运行结果展示MATLAB2022A版本运行 (完整程序运行后无水印) 3.核心程序figure(1); subplot(211);plot(dt:dt:tmax,Ip(:,1)); subplot(212);plot(dt:dt:tmax,Is(:,LL-1));%定义计数器 i =…

一、MyBatis简介:MyBatis历史、MyBatis特性、和其它持久化层技术对比、Mybatis下载依赖包流程

一、MyBatis简介:MyBatis历史、MyBatis特性、和其它持久化层技术对比、Mybatis下载依赖包流程@目录一、MyBatis简介1.1 MyBatis历史1.2 MyBatis特性1.3 和其它持久化层技术对比1.4 Mybatis下载依赖包流程本人其他相关文章链接 一、MyBatis简介 1.1 MyBatis历史 ​ MyBatis最初…

Qt5.14.2用CMake创建项目(适配VS2022编译器)

本篇指得是用Qt创建项目并开发,以CMake的方式,使用VS的编译器。 至于用VS开发Qt项目,很容易配置。 ------------------------ 正文 -------------------------------- Qt5.14.2只能使用VS2015或2017版本的编译器,所以Qt安装时我勾选VS2017 64bit,那么VS2022安装时也要勾选…