docker 安装elasticsearch、kibana、cerebro、logstash

安装步骤

第一步安装 docker

第二步 拉取elasticsearch、kibana、cerebro、logstash 镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2  
docker pull docker.elastic.co/kibana/kibana:7.10.2  
docker pull lmenezes/cerebro:latest
docker pull logstash:7.5.1

第三步、创建 容器

创建elasticsearch 容器

docker run -itd --name elasticsearch -p 9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.2

该命令会创建一个名为 elasticsearch 的容器,并将主机的 9200 端口与容器内部的 9200 端口关联起来。同时设置 discovery.type 参数为 single-node,表示单节点模式。

可能出现的问题
问题一
Docker容器启动时报错ERROR: for elasticsearch Cannot start service elasticsearch: driver failed programm.

错误原因:

docker服务启动时定义的自定义链docker,由于centos7 firewall 被清掉
firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。 当
firewalld 启动或者重启的时候,将会从 iptables 中移除 docker的规则,从而影响了 Docker 的正常工作。
当你使用的是 systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后再启动
或者重启 firewalld ,你就需要重启 Docker 进程了。 重启docker服务及可重新生成自定义链docker。

解决方法:

使用systemd关闭firewalld 之后要重启docker 重启docker服务后再启动容器

systemctl restart docker

创建kibana容器

  • 首先运行kibana容器
docker run --name kibana -d -p 5601:5601 docker.elastic.co/kibana/kibana:7.10.2
  • 然后copy kibana 的配置文件 到宿主机,修改kibana 的零配置文件kibana.yml 修改kibana连接的elasticsearch 连接地址配置
docker cp kibana:/usr/share/kibana /home/test

在这里插入图片描述

  • 重启 kibana 容器
    使用数据卷方式重新挂载 kibana 的配置目录文件,重启kibana 容器
docker run --name kibana -itd -p 5601:5601 -v  /home/test/kibana/config:/usr/share/kibana/config docker.elastic.co/kibana/kibana:7.10.2
  • 可能遇到的问题
    kibana解决Kibana server is not ready yet问题

    • 第一种
      将配置文件kibana.yml中的elasticsearch.url改为正确的链接,默认为: http://elasticsearch:9200,改为http://自己的IP地址:9200

在这里插入图片描述
我这里是将原本的elasticsearch改成了docker内部的IP,查看docker内部的IP命令如下

ip address

在这里插入图片描述

  • 第二种

如果上面的配置都没有问题的话,可能是因为防火墙的问题,我们需要把防火墙关掉(我就是这么解决的)

  1. 查看防火墙状态
systemctl status firewalld.service

如果结果显示为图中这样,则防火墙是启动了的

在这里插入图片描述
接下来需要关闭防火墙,关闭之后再查看防火墙状态

systemctl stop firewalld.service
systemctl status firewalld.service

这样就是显示,就表明防火墙已经关闭

在这里插入图片描述

kibana 教程、界面和相关操作

https://www.cnblogs.com/jthr/p/17415787.html

创建cerebro 容器

docker run --name cerebro -itd -p 9000:9000 lmenezes/cerebro

cerebro 的默认端口是9000 ,创建成功后,就可以通过http://localhost:9000/ 进行访问

在这里插入图片描述
只需要输入ElasticSearch的URL并点击connect按钮,成功连接即可显示如下图所示信息。需要注意的是由于cerebro运行在容器中,直接输入localhost:9200即使通过浏览器能够访问也可能无法连接,需要保证的是在cerebro的容器中能够访问到的URL,比如这里使用的本机的IP
在这里插入图片描述
点击Connect按钮即可连接成功
在这里插入图片描述
如果需要执行相应的API操作,比如查询,可直接在界面进行操作,比如
在这里插入图片描述
另外还可以确认节点相关的统计信息
在这里插入图片描述
在这里插入图片描述
很多操作都可以通过页面进行
在这里插入图片描述
总结
相较于elasticsearch-head,界面美感较好,功能也在不断更新,建议使用

cerebro 界面、操作教程

https://blog.csdn.net/liumiaocn/article/details/98517815

创建logstash 容器

参考 https://blog.csdn.net/baoshuowl/article/details/114928281

  1. 启动logstash 容器
docker run -itd --name=logstash logstash:7.5.1
  1. copy logstash的容器配置文件至 宿主机
docker cp logstash:/usr/share/logstash /home/test
  1. 修改 logstash 关联的elstaicSearch地址
    logstash.yml
    在这里插入图片描述
  2. 下载movielens 测试数据集

下载最MovieLens最小测试数据集:https://grouplens.org/datasets/movielens/

参开博客:https://blog.csdn.net/baoshuowl/article/details/114928281

在这里插入图片描述

  1. 准备 logstash.conf配置文件

https://gitee.com/geektime-geekbang/geektime-ELK/tree/master/part-1/2.4-Logstash%E5%AE%89%E8%A3%85%E4%B8%8E%E5%AF%BC%E5%85%A5%E6%95%B0%E6%8D%AE/movielens

logstash.conf

input {file {path => "/Users/yiruan/dev/elk7/logstash-7.0.1/bin/movies.csv"start_position => "beginning"sincedb_path => "/dev/null"}
}
filter {csv {separator => ","columns => ["id","content","genre"]}mutate {split => { "genre" => "|" }remove_field => ["path", "host","@timestamp","message"]}mutate {split => ["content", "("]add_field => { "title" => "%{[content][0]}"}add_field => { "year" => "%{[content][1]}"}}mutate {convert => {"year" => "integer"}strip => ["title"]remove_field => ["path", "host","@timestamp","message","content"]}}
output {elasticsearch {hosts => "http://localhost:9200"index => "movies"document_id => "%{id}"}stdout {}
}

修改导入的测试数据movies.csv 路径和 logstash 输出 elstaicSearch的地址
在这里插入图片描述

在这里插入图片描述
6. 在 logstash/bin 目录下运行一下命令

sudo ./logstash -f logstash.conf

在copy出来的logstash 配置文件下bin 目录下执行,导入测试数据

 ./logstash -f logstash.conf

在这里插入图片描述

以下为输出信息

在这里插入图片描述

在这里插入图片描述
如果没有出现这个则数据导入有问题

在docker 容器内操作文件没有权限则需要指定 登录容器内部时候的root 用户

docker exec -ited --user=root logstash bash
  1. 在kibana的dev Tool 中查看导入的测试数据
    查看已经导入的数据
    打开 Kibana 的 Dev Tools 并输入 GET /movies/_search
GET /movies/_search

可以看到下载的测试数据集中的数据已经全部倒入 Elasticsearch 中
在这里插入图片描述

容易出现的问题
启动 成功后 Logstash API endpoint 卡死
原因以方面可能是 sincedb_path = 配的具体日志目录,如果二次导入请删除
sincedb_path 随便配置个路径: sincedb_path => “D:/tool/elasticsearch/db_path.log”
(如果第二次运行,记得删除这个文件)
另一方面
由于 Logstash 导入数据文件是一次性的行为,如果数据文件没有变化则不会进行导入

logstash 配置详解

https://blog.csdn.net/fengyuyeguirenenen/article/details/124036098

logstash 导入数据实战应用

https://www.cnblogs.com/oklizz/p/11448261.html

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

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

相关文章

Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(3)

Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(3) 在 Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin&#…

大括号内两行公式中,如何左对齐公式的条件

1. 先建立一个大括号,中间设置一个二维矩阵如下: 2. 选中整个矩阵,不要选外面的括号,进行如下操作 3. 选择左侧对齐 即可。

用LM Studio:2分钟在本地免费部署大语言模型,替代ChatGPT

你想在本地使用类似ChatGPT 的大语言模型么?LM Studio 可以帮你2分钟实现ChatGPT的功能,而且可以切换很多不同类型的大语言模型,同时支持在Windows和MAC上的PC端部署。 LM Studio是一款面向开发者的友好工具,特别适合那些想要探索…

华为 HarmonyOS 页面跳转

HarmonyOS 页面跳转 1.新建页面2.添加跳转方法3.实现跳转效果 1.新建页面 我们新建2个页面(page),一个Hello World页面,一个Hello HarmonyOS页面,注意修改红色框内容,保持一致 2.添加跳转方法 导入导入router模块,页…

第二十八周:文献阅读笔记(弱监督学习)+ pytorch学习

第二十八周:文献阅读笔记(弱监督学习) 摘要Abstract1. 弱监督学习1.1. 文献摘要1.2. 引言1.3. 不完全监督1.3.1. 主动学习与半监督学习1.3.2. 通过人工干预1.3.3. 无需人工干预 1.4. 不确切的监督1.5. 不准确的监督1.6. 弱监督学习的创新点 2…

【计算机网络】TCP原理 | 可靠性机制分析(三)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程、计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 目…

[redis] redis高可用之持久化

一、Redis 高可用的相关知识 1.1 什么是高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,…

mysql原理--redo日志1

1.redo日志是个啥 我们知道 InnoDB 存储引擎是以页为单位来管理存储空间的,我们进行的增删改查操作其实本质上都是在访问页面(包括读页面、写页面、创建新页面等操作)。我们前边唠叨 Buffer Pool 的时候说过,在真正访问页面之前&a…

PDF结构详解

文章目录 介绍前言高保真的文件什么是PDF?PDF的一些优点版本摘要谁在使用PDF?有用的免费软件谁应该阅读 构建一个简单PDF文件基本PDF语法File StructureDocument ContentPage Content 构建简单PDF文件头目录,交叉引用表和文件尾主要对象图形内…

Linux的DHCP工作原理和dns服务器

目录 一、DHCP原理 1.DHCP的好处 2.DHCP的分配方式 3.实验 二、dns服务器 1.什么是dns 2.dns域名解析 3、在内网搭建dns 一、DHCP原理 DCHP工作原理使用C/S架构 (1)第一步,客户端广播发送一个discover报文寻找DHCP服务器。 &#…

文字转语音在线合成系统源码 附带完整的安装部署教程

现如今,文字转语音(TTS)技术逐渐成为人们获取信息的重要手段之一。然而,市面上的TTS工具大多需要下载安装,且功能较为单一,无法满足用户多样化的需求。因此,开发一款功能强大、易于部署的文字转…

Matlab 分段函数(piecewise)

语法 pw piecewise(cond1,val1,cond2,val2,...) pw piecewise(cond1,val1,cond2,val2,...,otherwiseVal)描述 pw piecewise(cond1,val1,cond2,val2,...) 返回分段表达式或函数pw,当cond1为True时,其值为val1,当cond2为True时&#xff0…

全链路压力测试有哪些主要作用

全链路压力测试是在软件开发和维护过程中不可或缺的一环,尤其在复杂系统和高并发场景下显得尤为重要。下面将详细介绍全链路压力测试的主要作用。 一、全链路压力测试概述 全链路压力测试是指对软件系统的全部组件(包括前端、后端、数据库、网络、中间件等)在高负载…

策略模式-实践

俗话说:条条大路通罗马。在很多情况下,实现某个目标的途径不止一条,例如我们在外出 旅游时可以选择多种不同的出行方式,如骑自行车、坐汽车、坐火车或者坐飞机,可根据实 际情况(目的地、旅游预算、旅游时间…

力扣日记1.14-【二叉树篇】108. 将有序数组转换为二叉搜索树

力扣日记:【二叉树篇】108. 将有序数组转换为二叉搜索树 日期:2023.1.14 参考:代码随想录、力扣 108. 将有序数组转换为二叉搜索树 题目描述 难度:简单 给你一个整数数组 nums ,其中元素已经按 升序 排列,…

什么是信噪比

大家好,今天给大家介绍什么是信噪比,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 “信噪比”是电子技术中经常用到的一个词组,知道它的确切含义有一定意…

HMM算法(Hidden Markov Models)揭秘

序列数据 机器学习的数据通常有两类,最常见的是独立同分布数据,其次就是序列数据。对于前者,一般出现在各种分类/回归问题中,其最大似然估计是所有数据点的概率分布乘积。对于后者,一般出现在各种时间序列问题中&…

玩转 openEuler (一)-- 系统安装

简介 openEuler 是一款开源操作系统。当前 openEuler 内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等…

如何让ArcGIS Pro启动显示空白页面

刚接触ArcGIS Pro的你是否会觉得在操作上有那么一些不习惯,从一开始软件启动就发现和ArcGIS差距很大:丰富的欢迎页面,加上默认加载的地图让你眼花缭乱,这里教你如何去掉这些繁杂的内容,还你一个干净的启动页面。 跳过…

StarRocks Awards 2023 年度贡献人物

2023 年行将结束。这一年,StarRocks 继续全方位大步向前迈进,在 300 贡献者的辛勤建设下,社区先后发布了 50 版本,并完成了从全场景 OLAP 到云原生湖仓的进化。 贡献者们的每一行代码、每一场布道,推动着 StarRocks 社…