Docker部署ES集群、kibana、RabbitMq和chrome安装elasticsearch-head插件

news2024/11/18 13:26:01

文章目录

    • @[toc]
  • 1.安装ES集群和kibana
    • 1.1安装ES集群
      • 1.1.1 准备挂载目录
      • 1.1.2 准备配置文件
      • 1.1.3 启动命令
        • 1.1.3.0 启动前设置系统环境变量
        • 1.1.3.1 Windows10环境启动命令
        • 1.1.3.2 Linux环境启动命令
    • 1.2安装kibana
      • 1.2.1 准备挂载目录
      • 1.2.2 准备配置文件
      • 1.2.3 启动命令
        • 1.2.3.1 Windows10环境启动命令
        • 1.2.3.2 Linux环境启动命令
    • 1.3 es插件和elasticsearch-head插件分享地址
    • 1.4 搭建安装效果
  • 2.rabbitMq部署命令
  • 3.chrome安装elasticsearch-head插件
  • 4.总结

1.安装ES集群和kibana

  版本都是:7.14.0,搭建的集群是一主两从的集群

1.1安装ES集群

1.1.1 准备挂载目录

  准备一个路径如下:D:\data\elasticsearch-7.14.0

图片****

  esnode-1、esnode-2、esnode-3的目录结构如下:

图片

  该路径下建立4个目录:
  config:配置文件elasticsearch.yml文件存放的位置

图片

  data:集群节点数据持久化路径

图片

  logs:节点日志~gc日志路径

图片

  plugins:插件包位置~将ik、拼音分词器的包解压到该路径下即可

图片

  三个的目录结构都是一样的只展示一个了。

1.1.2 准备配置文件

  三个节点的elasticsearch.yml文件内容如下所示:

# 节点一:
cluster.name: my-es
node.name: node-1
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/log
network.host: 0.0.0.0
network.publish_host: xxxxx(网卡ip)
http.port: 9201
transport.tcp.port: 9301
discovery.seed_hosts: ["192.168.40.70:9301","192.168.40.70:9302","192.168.40.70:9303"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
gateway.recover_after_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"

# 节点二:
cluster.name: my-es
node.name: node-2
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/log
network.host: 0.0.0.0
network.publish_host: xxxxx(网卡ip)
http.port: 9202
transport.tcp.port: 9302
discovery.seed_hosts: ["192.168.40.70:9301","192.168.40.70:9302","192.168.40.70:9303"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
gateway.recover_after_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"

# 节点三:
cluster.name: my-es
node.name: node-3
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/log
network.host: 0.0.0.0
network.publish_host: xxxxx(网卡ip)
http.port: 9203
transport.tcp.port: 9303
discovery.seed_hosts: ["192.168.40.70:9301","192.168.40.70:9302","192.168.40.70:9303"]
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
gateway.recover_after_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"

1.1.3 启动命令

1.1.3.0 启动前设置系统环境变量

  本文使用的是windows10环境,安装了wsl环境,所以需要设置wsl的Linux的操作系统的环境变量,如果不设置es启动的时候会报如下错误:

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least

  有两种方式设置:

  临时设置:

  wsl进入windows的Linux子系统中设置子系统的系统参数配置修改如下:

  sysctl -w vm.max_map_count=262144

  这种方式每次开启打开docker容器启动都会失效,需要重新设置一次然后重启容器才可以。

  永久设置:

  打开Window 10 的CMD
  执行以下命令:

wsl -d docker-desktop
echo 262144 >> /proc/sys/vm/max_map_count

  通过这个方法,即使操作系统重启,参数仍然有效。

1.1.3.1 Windows10环境启动命令

  windows 上的 Docker-Desktop方式启动命令,CMD进入doc窗口执行如下命令:

 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9201:9201 -p 9301:9301 -v D:\data\elasticsearch-7.14.0\esnode-1\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:\data\elasticsearch-7.14.0\esnode-1\plugins:/usr/share/elasticsearch/plugins -v D:\data\elasticsearch-7.14.0\esnode-1\data:/usr/share/elasticsearch/data -v D:\data\elasticsearch-7.14.0\esnode-1\logs:/usr/share/elasticsearch/logs --name es-esnode-1 elasticsearch:7.14.0
  
 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9202:9202 -p 9302:9302 -v D:\data\elasticsearch-7.14.0\esnode-2\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:\data\elasticsearch-7.14.0\esnode-2\plugins:/usr/share/elasticsearch/plugins -v D:\data\elasticsearch-7.14.0\esnode-2\data:/usr/share/elasticsearch/data -v D:\data\elasticsearch-7.14.0\esnode-2\logs:/usr/share/elasticsearch/logs --name es-esnode-2 elasticsearch:7.14.0
	
 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9203:9203 -p 9303:9303 -v D:\data\elasticsearch-7.14.0\esnode-3\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:\data\elasticsearch-7.14.0\esnode-3\plugins:/usr/share/elasticsearch/plugins -v D:\data\elasticsearch-7.14.0\esnode-3\data:/usr/share/elasticsearch/data -v D:\data\elasticsearch-7.14.0\esnode-3\logs:/usr/share/elasticsearch/logs --name es-esnode-3 elasticsearch:7.14.0

  分别执行上面的每一条命令;还要设置系统的变量的,可能启动失败,环境变量设置参看1.1.3.0。

1.1.3.2 Linux环境启动命令

 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9201:9201 -p 9301:9301 -v /data/elasticsearch-7.14.0/esnode-1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elasticsearch-7.14.0/esnode-1/plugins:/usr/share/elasticsearch/plugins -v /data/elasticsearch-7.14.0/esnode-1/data:/usr/share/elasticsearch/data -v /data/elasticsearch-7.14.0/esnode-1/logs:/usr/share/elasticsearch/logs --name es-esnode-1 elasticsearch:7.14.0
  
 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9202:9202 -p 9302:9302 -v /data/elasticsearch-7.14.0/esnode-2/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elasticsearch-7.14.0/esnode-2/plugins:/usr/share/elasticsearch/plugins -v /data/elasticsearch-7.14.0/esnode-2/data:/usr/share/elasticsearch/data -v /data/elasticsearch-7.14.0/esnode-2/logs:/usr/share/elasticsearch/logs --name es-esnode-2 elasticsearch:7.14.0
	
 docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d -p 9203:9203 -p 9303:9303 -v /data/elasticsearch-7.14.0/esnode-3/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elasticsearch-7.14.0/esnode-3/plugins:/usr/share/elasticsearch/plugins -v /data/elasticsearch-7.14.0/esnode-3/data:/usr/share/elasticsearch/data -v /data/elasticsearch-7.14.0/esnode-3/logs:/usr/share/elasticsearch/logs --name es-esnode-3 elasticsearch:7.14.0

  Linux上安装docker环境后,需要建立上面那几个路径才可以启动的,还要设置系统的变量的,可能启动失败。

1.2安装kibana

1.2.1 准备挂载目录

  该步骤看1.1.1

图片

1.2.2 准备配置文件

[root@ecs-01-0003 config]# cat kibana.yml
server.port: 5601
server.host: "0.0.0.0"
server.name: "my-kibana"
elasticsearch.hosts: ["http://ip2","http://ip2:9202","http://ip3:9203"]
i18n.locale: "zh-CN"
xpack.monitoring.ui.container.elasticsearch.enabled: true

1.2.3 启动命令

1.2.3.1 Windows10环境启动命令

docker run -d -p 5601:5601 -v D:\data\elasticsearch-7.14.0\kibana\kibana.yml:/usr/share/kibana/config/kibana.yml --name kibana kibana:7.14.0

1.2.3.2 Linux环境启动命令

docker run -d -p 5601:5601 -v /data/elasticsearch-7.14.0/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml --name kibana kibana:7.14.0

1.3 es插件和elasticsearch-head插件分享地址

链接:https://pan.baidu.com/s/1ZF9OW-tE_wMPr_EG5FwjvA 
提取码:scpx

1.4 搭建安装效果

  docker容器桌面管理查看启动的容器:

图片

  es-head插件效果:

图片

  kibana首页:

图片

2.rabbitMq部署命令

# 拷贝延迟插件到容器中
docker cp rabbitmq_delayed_message_exchange-3.8.0.ez rabbitmq:/plugins
# 启动容器命令
docker run -d --hostname rabbitmq --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -e RABBITMQ_DEFAULT_VHOST=my_vhost -p 15672:15672 -p 5672:5672 rabbitmq:3.7.28-management

  首先需要下载rabbitmq_delayed_message_exchange-3.8.0.ez延迟插件安装包,先启动rabbitMq的容器,然后将rabbitmq_delayed_message_exchange-3.8.0.ez插件拷贝到容器的rabbitmq:/plugins路径下,然后重启容器即可,就可以使用带有延迟功能的消息队列了。

3.chrome安装elasticsearch-head插件

  插件gitHub下载地址

  这里不采用源码安装或者是Chrome浏览器的应用商店的方式安装,直接下载master源码包:

图片

  修改crx路径下的es-head.crx文件:

图片

  解压后如图所示:

图片

  Chrome浏览器导入:浏览器右上角的三个小点点里面的扩展程序里面的管理扩展程序:

图片

插件成功导入后如图所示:

图片

  使用插件访问es集群:

图片

  这种解压crx文件导入到Chrome浏览器的方式是最简单的方式安装这个插件的方式。

4.总结

  到此文章分享结束,es环境的搭建可以使用源码包、docker、docker-compose和k8s等方式搭建,启动拉起一个本地es集群,让es的入门不至于被环境所困扰,希望我的分享对你有所帮助,请一键三连,么么哒!

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

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

相关文章

Spring IOC基于XML和注解管理Bean(一)

Spring IOC基于XML和注解管理Bean(二) 文章目录 1、IoC容器1.1、控制反转(IoC)1.2、依赖注入1.3、IoC容器在Spring的实现 2、基于XML管理Bean2.1、搭建模块spring-first2.2、实验一:获取bean①方式一:根据i…

过滤器和拦截器实现

说明:当用户未经登录,直接访问后台网址时,为了避免可以直接访问后台内容,就需要使用过滤器或拦截器将此类请求在服务器响应数据之前做核对,如果未登录,则驳回请求,返回登录页面,如果…

PyQt5桌面应用开发(20):界面设计结果自动测试(一)

本文目录 PyQt5桌面应用系列PyQt5的测试驱动开发(Test-Driven Development,TDD)QTestUI动作函数信号测试 最平凡的例子unittest框架总结 PyQt5桌面应用系列 PyQt5桌面应用开发(1):需求分析 PyQt5桌面应用开…

【Apache Pinot】简单聊聊前面没讲的 Deep Store 和 Cluster

背景 前面3篇文章讲解了 Pinot 用的最多的几个组件,现在就聊最后剩下的两个,一个是 Cluster,另外一个就是 Deep Store。 Cluster 其实 Cluster 比较简单,就是一个概念的集合,他说有 Server,Broker 和 Co…

代码随想录算法训练营第五十六天 | 力扣 583. 两个字符串的删除操作, 72. 编辑距离

583. 两个字符串的删除操作 题目 583. 两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 解析 1.确定dp数组(dp table)以及下标的含义 …

学会这个Python库,做接口测试不是手拿把掐吗?

我们在做接口测试时,大多数返回的都是json属性,我们需要通过接口返回的json提取出来对应的值,然后进行做断言或者提取想要的值供下一个接口进行使用。 但是如果返回的json数据嵌套了很多层,通过查找需要的词,就很不方便…

三、Typora软件的介绍及安装

1、Typora软件的介绍 (1)Typora时一款Markdown编辑器和阅读器。 (2)Typora使用起来十分简洁,十分方便,可用于记录日常的笔记等。 (3)Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。 2、Typora软件的安装 …

都说未来AI测试辅助自动化测试,难道手工测试真的要被淘汰了吗?

目录 前言 AI测试的迷思 第一个问题:AI辅助测试真的能用吗? 第二个问题:AI辅助测试已经发展到什么程度了? 第三个问题:哪些软件系统能用AI辅助测试? 总结 总结: 前言 近年来,…

FPGA实现简易的自动售货机模型

文章目录 前言一、系统设计1、模块框图2、状态机框图3、RTL视图 二、源码1.蜂鸣器驱动模块2.按键消抖模块3、PWM模块4、sale_goods模块(状态机部分)5、数码管驱动模块6、Sales(顶层模块) 三、效果四、总结五、参考资料 前言 环境: 1、Quartus18.1 2、vscode 3、板子…

华为OD机试 JavaScript 实现【简单密码】【牛客练习题 HJ21】,附详细解题思路

一、题目描述 现在有一种密码变换算法。 九键手机键盘上的数字与字母的对应: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a …

Python实现面向对象版学员管理系统

如有错误,敬请谅解! 此文章仅为本人学习笔记,仅供参考,如有冒犯,请联系作者删除!! 1.1需求分析 1.1.1使用面向对象编程思想完成学员管理系统的开发,具体如下: 系统要求…

城镇供水产销差问题分析与对策

城镇自来水与其它商品的经营活动一样存在着产销差,产销差的高低,直接影响着供水企业的经济效益。供水企业的经营活动中不单考虑企业的经济效益,还要考虑社会效益。产销差是客观存在的,造成产销差的原因是多样的,复杂的…

初探图神经网络——GNN

title: 图神经网络(GNN) date: tags: 随笔知识点 categories:[学习笔记] 初探图神经网络(GNN) 文章来源:https://distill.pub/2021/gnn-intro/ 前言:说一下为什么要写这篇文章,因为自己最近一直听说“图神经网络”,但是一直不了…

【LeetCode】24.两两交换链表中的节点

24.两两交换链表中的节点(中等) 方法一:递归 思路 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), n…

聊一聊mysql的MVC

技术主题 在mysql世纪使用中,经常涉及到MVCC的概念(Multi-Vsersion Concurrency Control),即多版本并发控制,一种并发控制方法,根本目的是主为了提升数据库的并发性能。 mvcc为什么产生 数据库最原生的锁…

解开索引迷局:聚簇索引与非聚簇索引的差异大揭秘!

大家好,我是小米!今天我们来聊一聊数据库中的索引,具体地说就是聚簇索引和非聚簇索引。这两者在数据库中扮演着重要的角色,对于我们理解数据库的存储和查询机制非常有帮助。下面就让我来给大家详细解释一下它们的区别吧&#xff0…

为不同的调制方案设计一个单载波系统(映射器-信道-去映射器)(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

RPC介绍

RPC介绍 1 介绍1.1 概述1.2 RPC的分裂发展 2 历史发展1969年11月,ARPAnet 开始建立。1974年:Jon Postel 和 Jim White发表了RFC6741975年:RFC684 作为RFC 674 的注释发表,对RFC 674 的争议进行回复。1976年:RFC 707 发…

C++学习之旅 -类和对象(重点)

文章目录 封装封装的意义案例1案例2 访问权限C中class和struct的区别成员属性私有化构造函数和析构函数构造函数析构函数构造函数的分类以及调用构造&调用 拷贝构造函数调用时机深拷贝&浅拷贝初始化列表类对象作为类成员静态成员C对象模型&this指针成员变量和成员函…

Mybatis Generator源码修改

文章目录 报java.net.MalformedURLException错误解决问题原因:编译的时候没有把下面的dtd文件打进去解决方法 XML文件判空优化-增加空字符串修改InsertSelectiveElementGenerator修改UpdateByPrimaryKeySelectiveElementGenerator XML文件判空优化-最佳解决方案 报j…