es7.x集群部署-多台物理机部署-docker环境部署-docker-compose管理

news2025/1/16 14:11:59

es集群部署文档

部署es服务的三台服务器的ip和host分分别是:

iphost_name
192.168.1.2web02
192.168.1.3storage02
192.168.1.4Storage03

这个配置需要在服务器上编写对应的hosts文件,然后才可以使用host进行配置。

本次部署没有外挂配置文件,通过docker-compose文件进行管理,es版本为7.5.0

部署步骤

对数据文件夹赋予权限

因为es的docker镜像中,使用elasticsearch用户操作,需要目录权限

sudo chmod 777 /home/data/es/es-data/storage02/

对增加内核对文件数操作数量

# 编辑配置文件
sudo vim /etc/sysctl.conf

# 增加设置,然后保存退出
# vm.max_map_count是一个Linux系统内核参数,它控制一个进程可以拥有的内存映射区域(memory-mapped region)的数量。
# 内存映射区域是一种特殊的内存区域,它将一个文件或者设备映射到进程的虚拟地址空间中,从而使得进程可以通过内存地址来访问文件或者设备,而不需要进行读取或者写入的系统调用。
vm.max_map_count=655360

# 使配置生效
sudo sysctl -p

增加sql插件

编写Dockerfile

FROM docker.elastic.co/elasticsearch/elasticsearch:7.5.0

RUN ./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/7.5.0.0/elasticsearch-sql-7.5.0.0.zip

生成镜像

docker build -t es:7.5.0 .

编写docker-compose文件

文件地址:/home/work/es/es-conf/docker-compose.yml 或 /home/data/es/es-conf/docker-compose.yml

version: '2.2'
services:
  es:
    image: es:7.5.0
    container_name: es
    restart: always     # 设置服务自启
    environment:
      - node.name=storage02   # 节点名称 集群中需要唯一
      - cluster.name=es-docker-cluster  # 集群名称,要想组成集群,集群名称必须相同
      - discovery.seed_hosts=storage03,web02,storage02  # 向哪些地址发消息,用于发现和加入集群中的其他节点,需要配置ip地址或host名称
      - cluster.initial_master_nodes=storage02,web02,storage03 # 初始化集群的时候才使用,如果集群已经建立,则该配置不生效
      - bootstrap.memory_lock=true  # 用于将Elasticsearch进程使用的内存锁定在RAM中,以避免将内存交换到磁盘上。
      - network.publish_host=storage02 # 用于指定一个Elasticsearch节点绑定的网络地址,以供其他节点使用该地址与该节点通信。因为docker分布在不同的主机上,这个地址需要使用本机的ip地址,或者host名称。因为docker拥有自己的ip地址,但是他们的ip地址如果不在一个内网的话,就不能通信,也就不能组成集群了。
      - node.master=true	# 是否可以做主节点
      - node.data=true    # 是否可以做数据节点
      - "ES_JAVA_OPTS=-Xms30g -Xmx30g"  # jvm的内存分配
    ulimits:
      memlock: # memlock是一个Linux系统级别的参数,用于限制一个进程可以锁定在内存中的最大数量的物理内存
        soft: -1   # -1 表示不限制
        hard: -1
    volumes: 
      - /home/data/es/es-data/storage02/:/usr/share/elasticsearch/data # 数据目录映射
      - /etc/hosts:/etc/hosts   # host文件映射,否则就不能根据host名称找到对应主机了
    ports: # 端口映射 本机端口:容器端口
      - 9200:9200
      - 9300:9300
    networks: # 网络配置
      - elastic

networks:
  elastic:
    driver: bridge
    ipam:
      config:
        - subnet: 172.22.0.0/24
          gateway: 172.22.0.1

其他机器的配置类似,需要改动地方主要是几个地方:

  • 节点名称,必须要更改为不同的名称
  • 数据目录映射可能需要修改
  • 发布主机,必须修改,改为宿主机的ip或者host名称

启动

# 启动服务
docker-compose up -d

# 查看集群是否搭建成功
curl -XGET 'http://localhost:9200/_cat/nodes?v'

如果成成功,将会返回集群的信息:

在这里插入图片描述

其中web02是主节点

需要注意的点

如果自己曾经作为单节点启动了某台服务器上的es容器,而且启动成功,这个es可以查询到集群信息了,然后重新启动es,想要加入到现有集群中。

结果配置的集群名称相同,ip也可以互相通信,但是发现这台es加入不进去集群当中。

这时候可能需要删除该节点原先挂在到es容器中的node文件夹。

因为两个集群的名称虽然一致,但是他们的uuid可能是不一致的,然后就可能导致该节点无法加入现有集群当中。这个uuid当集群初始化成功的时候就会被保存到本地,所以需要删除,然后重新启动容器。

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

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

相关文章

容器内无tcpdump,如何在宿主机上抓容器的包

抓包的容器里,没有安装tcpdump 命令,我们可以去容器所在宿主机上,使用 nsenter 命令切换网络命名空间后,使用宿主机上的tcpdump 命令,对容器进行抓包分析。 此例中,我要抓取容器中端口是5240的包&#xff…

react3:受控组件(表单默认变成受控)-组件通信 - typescript项目(表单,tabbar)

受控组件:表单 非受控组件表单元素值不受所在组件状态的控制, 我们将这样的表单元素称作: 非受控组件. 受控组件受控组件 : 值受到 React 组件状态控制的表单元素一般是通过 defaultValue 属性, onChange 事件配合将非受控组件变为受控组件. 多表单元素操作 &#…

Unity中GPUInstance详解

为什么要用GPUInstance 在没有GPUInstance此技术之前,对于像草地、树木,割草游戏,它们往往是数据量很大,但同时又只存在微小的差别如位置、旋转、颜色等。如果像常规物体那样进行渲染,所使用的绘制指令必然很多…

3.3 向量与矩阵的范数

学习目标: 要学习向量与矩阵的范数,我会采取以下几个步骤: 了解基本概念:首先,我会了解向量和矩阵的范数的基本概念和定义,以及它们的性质和特点,这是理解和掌握范数的基础。 学习具体算法&am…

Nacos简介、基本概念、基本架构、安装部署

官网:https://nacos.io/zh-cn/ 官方文档: 什么是 Nacos Github:https://github.com/alibaba/nacos,阿里巴巴开源项目。 简介 什么是Nacos? Nacos:(Dynamic) Naming and Configuration Service&#xf…

空间相关性----地理探测器--学习记录

目录 相关教程--软件及数据准备 R语言数据分析1、R包、数据准备、GD综合代码2、分异及因子探测---q值 gd3、交互作用探测---评估因子gdinteract4、风险区探测--显著性--gdrisk()5、生态探测---交叉影响--gdeco() 数据准备注意:使用Arcgis首先创建.gdb(本…

数学建模第二天:数学建模工具课之MATLAB绘图操作

目录 一、前言 二、二维绘图 1、曲线图、散点图plot 2、隐函数、显函数与参数方程的绘图 ①ezplot ②fplot 三、三维绘图 1、单曲线plot3 2、多曲线plot3 3、曲面 ①实曲面surf ②网格曲面mesh 四、特殊的二维、三维图 1、极坐标图polar 2、平面散点图scatter …

学网络安全都是一群什么人?

大家好呀,我是知了姐,又是一期学员故事栏目~ 3月下旬知了堂信安方向开新班,知了姐跟着去采访,了解到新学员们的求学故事,嘿你别说,虽然大家出身专业不同、经历背景不同,如今却在同一个地点相遇…

CAMX大气臭氧来源解析模拟

查看原文>>>基于CAMX大气臭氧来源解析模拟与臭氧成因分析实践技术应用 随着我国经济快速发展,我国面临着日益严重的大气污染问题。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果,同时气象因素是控制大气污染的关键自然因…

【微信小程序】生命周期,插槽和组件间通信

一、组件的生命周期 1.1 组件全部的生命周期函数 小程序组件可用的全部生命周期如下表所示 生命周期函数参数描述说明created无在组件实例刚刚被创建时执行attached无在组件实例进入页面节点树时执行ready无在组件在视图层布局完成后执行moved无在组件实例被移动到节点树另一…

实战案例|聚焦攻击面管理,腾讯安全威胁情报守护头部券商资产安全

金融“活水”润泽千行百业,对金融客户来说,由于业务场景存在特殊性和复杂性,网络安全必然是一场“持久战”。如何在事前做好安全部署,构建威胁情报分析的防护体系至为重要,实现更为精准、高效的动态防御。 客户名片 …

Flink系列-8、Flink DataStream的简介和API开发

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址:https://flink.apache.org/ 学习资料:https://flink-learning.org.cn/ 目录 流处理的介…

开放式耳机真的比封闭式强很多吗?推荐几款主流的开放式耳机

​开放式耳机,顾名思义,就是通过骨头振动来传导声音的耳机。相比于传统耳机,它的声音传输更加开放,不会对耳膜造成压迫感,也不会对耳膜旁的内毛细胞造成损害。因此开放式耳机既是运动蓝牙耳机,又是音乐蓝牙…

MAC 通过 brew安装 redis 并且设置开机启动

一.安装 mysql 1.安装 mysql 1.安装 redis brew install redis2.查看 redis 安装目录 brew list redis 记住安装目录 3.启动 redis 进入到安装目录下面 cd /opt/homebrew/Cellar/redis/7.0.11 cd bin ./redis-server 二.设置开机启动 上面安装好之后,redis 虽然能正常…

个性化的客户服务策略(二)

继续上次的策略,今天我们继续分享接下来的几点提供更加个性化的客户服务的方法。 6)利用社交媒体发挥自己的优势 请求进入社交媒体渠道原因有很多。例如,愤怒的客户可能会对帖子发送直接消息或评论,因为它感觉更直接,…

【刷题之路Ⅱ】LeetCode 3381.搜索旋转排序数组ⅠⅡ

【刷题之路Ⅱ】LeetCode 33&81.搜索旋转排序数组Ⅰ&Ⅱ 一、题目描述二、解题1、方法1——暴力法1.1、思路分析1.2、代码实现 2、方法2——二分法2.1、思路分析2.2、代码实现2.3、升级到81题2.3.1、改进思路分析2.3.1、改进代码实现 3、改进二分法3.1、思路分析3.2、代码…

STM32F407ZIT6 国产替代者NS32F407ZIT6 NS32F407ZGT6 软硬件通用 无需修改任何程序代码

NS32F407ZIT6 NS32F407ZGT6 器件基于高性能的 ARM Cortex-M4 32位 RISC 内核,工作频率高达 168MHz。 Cortex-M4 内核带有单精度浮点运算单元(FPU),支持所有 ARM 单精度数据处理指令和数据类型。它还 具有一组DSP指令和提高应用安全性的一个存储器保护…

Windows环境下调试DAB-DETR与Deformable-DETR

先前都是在服务器上运行DETR的相关程序,服务器使用的是Linux,所以运行较为简单,但如果想要简单的debug的话就没必要使用服务器了,今天便来在Winodws环境下调试DETR类项目,这里以Deformable-DETR与DAB-DETR为例。 首先是…

深度测评全新大模型「天工」,这些AI体验太香了

ChatGPT火了后,很多人都在关注“国产ChatGPT”的名号究竟花落谁家。 事实上,名号不重要,体验才是王道。ChatGPT能够火成“史上增长最快的消费者应用”,关键在于把体验提升到了新层次。毕竟对于用户来说,并不清楚产品背…

【WSN定位】加权质心定位算法-Matlab代码

文章目录 1. 质心定位算法2. 加权质心定位算法3. 部分代码展示4. 效果图展示5. 资源获取说明 摘要:质心定位算法(Centroid Algorithm)是 Nirupama Bulusu等提出的一种无需测距的粗精度定位算法。质心算法的基本思路:利用未知节点通信范围内的所有锚节点进…