docker搭建ES 8.14 集群

news2024/12/23 23:23:51

参考:【docker搭建es8集群+kibana】_docker 安装生产级 es 8.14 集群-CSDN博客

1、之前已搭建一台单机版的dockerES集群 参见 Elasticsearch docker 安装_docker 安装es8.14.3-CSDN博客

2、现在需要重新搭建为docker ES集群 准备新搭建3个点

一、准备工作

提前开放三台服务器的9200、9300端口,需要配置kibana的服务器额外开放5601端口。只需要配置一个kibana即可连接es集群。

创建es网卡

二、安装elasticsearch

查看磁盘的大小 ,磁盘太小会限制创建索引

1、docker拉取es镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.1

有异常 到官网上找地址 

elasticsearch | Docker @ Elastic

下载比较慢 得等待

3.创建挂载目录

/home/dockerinstall/es

mkdir data plugins

# 添加文件夹权限

chmod 777 data

chmod 777 plugins

3个节点都要操作

4.启动es集群

4.1 配置文件挂载启动

编写elasticsearch.yml

mkdir config

# 进入config文件加

cd config

# 编写elasticsearch.yml

vim elasticsearch.yml

注意每台服务器需要修改的参数
node.name —— es集群节点名称,每台服务器不同
network.publist_host —— 服务器ip

# 集群名称
cluster.name: es-cluster
# 节点名称
node.name: node-1
# 网络地址
network.host: 0.0.0.0
network.publish_host: 192.168.1.248
# 集群节点配置
discovery.seed_hosts: ["192.168.1.248:9300","192.168.1.247:9300","192.168.1.244:9300"]
# 主节点候选
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#
# 客户端端口
http.port: 9200
# 集群节点端口
transport.port: 9300
#
# 是否开启安全认证
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
#
# 是否开启ssl
xpack.security.http.ssl:
  enabled: false
#     #keystore.path: /usr/share/elasticsearch/config/certs/http.p12
#       #truststore.path: /usr/share/elasticsearch/config/certs/http.p12
#
# 是否开启访问安全认证
xpack.security.transport.ssl:
  enabled: false
#             #verification_mode: certificate
#             #keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
#               #truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12
#
#               # 跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.host: 0.0.0.0

scp elasticsearch.yml root@192.168.1.244:/home/dockerinstall/es/config/

注意每个节点都要修改下 
node.name —— es集群节点名称,每台服务器不同
network.publist_host —— 服务器ip

启动命令:

docker run -d --privileged=true --name es --network es-net -p 9200:9200 -p 9300:9300  -v /home/dockerinstall/es/data:/usr/share/elasticsearch/data  -v /home/dockerinstall/es/plugins:/usr/share/elasticsearch/plugins  -v /home/dockerinstall/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  docker.elastic.co/elasticsearch/elasticsearch:8.14.1

三个节点都要启动

发现异常

具体是关于 vm.max_map_count 参数的值太低。vm.max_map_count 是一个 Linux 内核参数,它控制着一个进程可以拥有的最大内存映射区域数。Elasticsearch 需要较高的 vm.max_map_count 值来正常运行,因为它需要创建大量的内存映射文件来处理索引和搜索操作。

解决方法:

  1. 增加 vm.max_map_count 的值: 你需要将 vm.max_map_count 设置为至少 262144。你可以通过编辑 /etc/sysctl.conf 文件来永久更改此设置,或者直接在终端中临时更改它。

       vim /etc/sysctl.conf

        vm.max_map_count = 2000000

         sudo sysctl -p

  1. docker rm 7472d0727e06   如果你使用的是 Docker 容器,你可能需要停止并重新启动 Docker 容器。
  2. 重启docker es的命令同上面 

三 安装kibana

docker pull docker.elastic.co/kibana/kibana:8.14.1

mkdir data config

chmod 777 data/

vim kibana.yml

server.host: "0.0.0.0"
# 连接es集群配置多个地址,单机一个地址
elasticsearch.hosts: ["http://192.168.1.248:9200","http://192.168.1.247:9200","http://192.168.1.244:9200"]
# 设置kibana中文
i18n.locale: "zh-CN"

启动 kibana

docker run -d --name kibana --network es-net -p 5601:5601 -v /home/dockerinstall/kibana/data:/usr/share/kibana/data -v /home/dockerinstall/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:8.14.1

四、查看es集群节点

1.查看es信息

2.访问kibana客户端

http://192.168.1.248:5601/

安装插件

插件下载地址:

Index of: analysis-ik/stable/ (infinilabs.com)

sudo yum install lrzsz

上传到docker容器的相关目录中

下载插件:

https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-8.14.1.zip

解压到plugins目录

unzip elasticsearch-analysis-ik-8.14.1.zip -d analysis-ik/

rm -rf elasticsearch-analysis-ik-8.14.1.zip  解压后需要删除

重启:docker restart 6a6dbee586f4   

登录

docker exec -it 062ee8617b4c bash

./bin/elasticsearch-plugin list

插件安装成功

查看:

192.168.1.248:9200/_cat/plugins?v=true

3个节点都已安装

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

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

相关文章

txt格式单词导入有道词典生词本 (java代码方式)

txt格式单词导入有道词典生词本 (java代码方式) 首先要求txt文档里单词的格式,大概需要像这种: 每行是一个单词,格式为:英文单词空格词性单词意思。 注意 导出单词本的名字就是你 txt 文件的名字 我这里是 公共英语三级 单词本 …

WPF项目实战视频《二》(主要为prism框架)

14.prism框架知识(1) 使用在多个平台的MVVM框架 新建WPF项目prismDemo 项目中:工具-NuGet包管理:安装Prism.DryIoc框架 在git中能看Prism的结构和源代码:git链接地址 例如:Prism/src/Wpf/Prism.DryIoc.Wpf…

Linux中tomcat下载教程

一.安装tomcat 1.安装 EPEL 仓库: sudo yum install epel-release2.安装 Tomcat: sudo yum install tomcat3.启动 Tomcat 服务: sudo systemctl start tomcat4.启用 Tomcat 服务开机启动: sudo systemctl enable tomcat5.检查…

SpringCloud 环境工程搭建

SpringCloud 环境&工程搭建 文章目录 SpringCloud 环境&工程搭建1. SpringCloud介绍2. 服务拆分原则2.1 单一职责原则2.2 服务自治2.3 单向依赖2.4 服务拆分示例 3. 数据准备4. 工程搭建4.1 创建父工程4.2 创建子工程4.2.1 子项目-订单服务4.2.2 子项目-商品服务 4.3 完…

物联网专业创新人才培养体系的探索与实践

一、引言 随着物联网(IoT)技术的迅猛发展,物联网领域的人才需求日益增加。物联网技术作为新一轮信息技术革命的核心,已经渗透到社会生活的各个领域,对推动经济转型升级、提升国家竞争力具有重要意义。因此&#xff0c…

Redis 7.x 系列【26】集群模式动态扩容、动态缩容

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 动态扩容1.1 安装、启动1.2 加入新节点1.3 分配哈希槽1.4 加入从节点 2. 缩容2.1 删…

PHP场地预约共享茶室棋牌室小程序系统源码

🍵🎲【聚会新宠】场地预约神器,共享茶室棋牌室小程序大揭秘!🎉 🏡【开篇:告别繁琐,聚会新选择】🏡 还在为找不到合适的聚会场地而烦恼吗?想要一个既私密又舒…

python+onlyoffice+vue3项目实战20240722笔记,环境搭建和前后端基础代码

开发后端 先创建data目录,然后在data目录下创建一个test.docx测试文档。 后端代码: import json import req import api from api import middleware, PlainTextResponseasync def doc_callback(request):data = await api.req.get_json(request)print("callback ==…

微信小程序-CANVAS写入图片素材、文字等数据生成图片

微信小程序中,CANVAS写入图片素材、文字等数据生成图片,最终可将生成的 base64 格式图片保存至相册操作 Tips: 1、canvas 标签默认宽度 300px、高度 150px canvas 生成图片时,写入图片素材、文字等数据前,需要根据实…

git的一些使用技巧(git fetch 和 git pull的区别,git merge 和 git rebase的区别)

最近闲来无聊,虽然会使用git操作,但是 git fetch 和 git pull 的区别,git merge 和 git rebase的区别只是一知半解,稍微研究一下; git fetch 和 git pull 的区别 git fetch git fetch 是将远程仓库中的改动拉到本地…

鸿蒙仓颉语言【扩展Redis仓颉语言客户端】

2. 扩展Redis仓颉语言客户端 2.1 Redis命令处理模块的架构 Redis命令处理的架构图如下: RedisCommand类 Redis命令的实现类 包含以下成员: commandType: Redis命令的名称 commandArgs: Redis命令的参数列表 response: Redis命令的响应消息&#xff…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(十)-无人机A2X服务

引言 3GPP TS 23.256 技术规范,主要定义了3GPP系统对无人机(UAV)的连接性、身份识别、跟踪及A2X(Aircraft-to-Everything)服务的支持。 3GPP TS 23.256 技术规范: 【免费】3GPPTS23.256技术报告-无人机系…

当当网数据采集:Scrapy框架的异步处理能力

在互联网数据采集领域,Scrapy框架以其强大的异步处理能力而著称。Scrapy利用了Python的异步网络请求库,如twisted,来实现高效的并发数据采集。本文将深入探讨Scrapy框架的异步处理能力,并展示如何在当当网数据采集项目中应用这一能…

npm 安装报错(已解决)+ 运行 “wue-cli-service”不是内部或外部命令,也不是可运行的程序(已解决)

首先先说一下我这个项目是3年前的一个项目了,中间也是经过了多个人的修改惨咋了布置多少个人的思想,这这道我手里直接npm都安装不上,在网上也查询了多种方法,终于是找到问题所在了 问题1: 先是npm i 报错在下面图片&…

下拉菜单过渡

下拉过渡&#xff0c;利用Y轴的transform&#xff1a;scaleY(0) —》transform&#xff1a;scaleY(1) 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8" /><meta name"viewport" cont…

实战:MyBatis适配多种数据库:MySQL、Oracle、PostGresql等

概叙 很多时候&#xff0c;一套代码要适配多种数据库&#xff0c;主流的三种库&#xff1a;MySQL、Oracle、PostGresql&#xff0c;刚好mybatis支持这种扩展&#xff0c;如下图所示&#xff0c;在一个“namespace”&#xff0c;判断唯一的标志是iddatabaseId&#xff0c;刚好写…

学习vue3的搭建

Vue3 Vite项目构建 环境准备 1. NodeJs安装 安装NodeJs&#xff0c;安装成功后&#xff0c;以管理员身份打开命令行&#xff0c;输入命令 node -v查看NodeJs版本&#xff1b;输入命令 npm -v查看npm版本。 2. 安装cnpm 因为npm是国外的&#xff0c;下载资源的时候会翻墙&…

mysql面试(一)

前言 从今天开始&#xff0c;更新一些mysql的基础知识&#xff0c;面试会遇到的知识点之类的内容。比如四个隔离级别&#xff0c;mvcc机制&#xff0c;三大日志&#xff0c;索引&#xff0c;B树的形成等等&#xff0c;从数据库的底层来剖析索引和树是怎么形成的&#xff0c;以…

LeetCode //C - 257. Binary Tree Paths

257. Binary Tree Paths Given the root of a binary tree, return all root-to-leaf paths in any order. A leaf is a node with no children. Example 1: Input: root [1,2,3,null,5] Output: [“1->2->5”,“1->3”] Example 2: Input: root [1] Output: […

服务器利用宝塔面板部署Django项目

目录 1. 使用命令启动Django项目1.1 使用 Xshell 连接服务器1.2 安装Anaconda1.3 启动Django项目1.4 使用tmux实现项目的后台运行 2. 使用Python项目管理器部署项目2.1 安装宝塔面板和软件2.2 添加站点2.3 上传项目文件2.3.1 收集静态文件2.3.2 生成依赖文件 2.4 安装安装Pytho…