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 中
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ClickHouse基础知识(七):ClickHouse的分片集群

副本虽然能够提高数据的可用性,降低丢失风险,但是每台服务器实际上必须容纳全量数据,对数据的横向扩容没有解决。 要解决数据水平切分的问题,需要引入分片的概念。通过分片把一份完整的数据进行切 分,不同的分片分布到…

Vue知识总结-中

VUE-生命周期 生命周期概述 生命周期也常常被称为生命周期回调函数/生命周期函数/生命周期钩子生命周期是Vue在关键时刻帮我们调用的一些特殊名称的函数生命周期函数的名字不能更改,但函数的具体内容是由我们程序员自己编写的生命周期函数中的this指向是vm或组件实例对象 生命周…

【Flutter 开发实战】Dart 基础篇:从了解背景开始

想要学会用 Flutter 开发 App,就不可避免的要学习另一门很有意思的编程语言 —— Dart。很多小伙伴可能在学习 Flutter 之前可能都没听说过这门编程语言,我也是一样,还以为 Dart 是为了 Flutter 而诞生的;然而,当我们去…

【嵌入式】Makefile 学习笔记记录 | 嵌入式Linux

文章目录 前言一、Makefile的引入——最简单的gcc编译过程二、Makefile的规则三、Makefile的语法3.1、通配符3.2、假想目标 .phony3.3、即时变量 延时变量 四、Makefile的函数4.1、foreach4.2、filter4.3、wildcard4.4、patsubst 五、Makefile升级5.1、包含头文件在内的依赖关系…

Force Yc 第六引导公告网页源码

Force Yc 第六引导公告网页源码,HTML源码,本地双击index.html即可运行,内容体积小,美观大气,二次元风格,喜欢的朋友可以拿去研究 蓝奏云:https://wfr.lanzout.com/iZsjv1kexkod

西电期末1035.可构造三角形个数

一.题目 二.分析与思路 依旧是遍历判断&#xff0c;三角形任意两边之和大于第三边&#xff0c;读题&#xff01;&#xff01;&#xff01;&#xff1a;连续的三个数&#xff01;&#xff01;&#xff01; 三.代码实现 #include<bits/stdc.h>//万能头 int main() {int …

机器视觉篇

1&#xff1a;实现LCD显示文字 实验名称&#xff1a;LCD 版本&#xff1a; v1.0 日期&#xff1a; 2022.12 作者&#xff1a; 01Studio 说明&#xff1a;编程实现LCD显示信息。需要将01Studio.bmp文件发送到开发板 import lcd,image,utimelcd.init() #初始化LCD lcd.clear(lcd…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第五天-Linux消息共享内存练习题(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…

案例介绍|钡铼助力2023年全国职业院校技能大赛工业网络智能控制与维护赛项

如今&#xff0c;越来越多的企业开始意识到数字制造和工业物联网已经成为工业自动化中大规模生产的核心驱动力。这其中&#xff0c;工业网络作为基础设施&#xff0c;是实现工厂设备联网与数据采集&#xff0c;建设数字工厂的基础和前提&#xff0c;甚至成为关乎数字工厂能否真…

【动态规划】C++算法312 戳气球

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 LeetCode312 戳气球 有 n 个气球&#xff0c;编号为0 到 n - 1&#xff0c;每个气球上都标有一个数字&#xff0c;这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i 个气球&…

PIG框架学习2——资源服务器的配置详解

一、前言 1、pig资源服务器的配置 Spring Security oauth2相关的依赖是在pigx-common-security模块中引入的&#xff0c;其他模块需要进行token鉴权的&#xff0c;需要在微服务中引入pigx-common-security模块的依赖&#xff0c;从而间接引入相关的Spring security oauth2依赖…

环境中碳循环

含碳的物质有CO2、CO、CH4、糖类、脂肪和蛋白质等&#xff0c;碳循环以CO2为中心&#xff0c;CO2被植物、藻类利用进行光合作用&#xff0c;合成植物性碳&#xff1b;动物摄食植物就将植物性碳转化为动物性碳&#xff1b;动物和人呼吸放出CO2&#xff0c;有机碳化合物被厌氧微生…

nodejs安装、nodejs环境变量配置、npm安装、vue安装

官网下载链接:https://nodejs.org/en/download/ 个人下载版本&#xff1a;node-v20.10.0-x64.msi&#xff0c;下载完成后&#xff0c;点击安装&#xff0c;除了更换安装目录&#xff0c;其他直接下一步即可 安装完成后执行&#xff1a;npm -v 下面开始配置环境变量&#xf…

Spring应用的部署与管理

一、前言 部署是将开发好的应用发布到服务器上&#xff0c;使其能够被用户访问的关键步骤。Spring框架提供了灵活的部署选项&#xff0c;本文将介绍Spring应用的常见部署方式和一些建议&#xff0c;帮助开发者顺利将应用投放到生产环境。 二、传统部署方式&#xff1a;WAR包 传…

Github 2024-01-08开源项目周报 Top14

根据Github Trendings的统计&#xff0c;本周(2024-01-08统计)共有14个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目5TypeScript项目3C项目2Dart项目1QML项目1Go项目1Shell项目1Rust项目1JavaScript项目1C#项目1 免费…

【一】使用vue-cli创建vue3的helloworld项目

不再推荐使用vue-cli命令创建vue3的项目&#xff0c;vue-cli 是 Vue 早期推出的一款脚手架&#xff0c;使用 webpack 创建 Vue 项目。后期推荐使用 create-vue&#xff0c;create-vue 是 Vue3 的专用脚手架&#xff0c;使用 vite 创建 Vue3 的项目(关注【二】使用create-vue创建…

XML技术分析05

一、DOM 使用DOM扫描器程序&#xff1a;DOM扫描器是一种非常通用的程序&#xff0c;它不需知道用户定制的XML标记的确切含义。DOMAPI具有某些能把任何数据存储到树形结构中的接口。扫描器具有一组实现了这些接口的类&#xff0c;可以实例化这些类的对象。 这些接口和类…

GEE数据集——Cloud Score+ S2_HARMONIZED数据集

简介 Cloud Score 是一种用于中高分辨率光学卫星图像的质量评估&#xff08;QA&#xff09;处理器。Cloud Score S2_HARMONIZED数据集是由统一的哨兵-2 L1C数据集制作的&#xff0c;Cloud Score的输出可用于识别相对清晰的像素&#xff0c;并有效去除L1C&#xff08;大气顶部&…

2024.1.3力扣每日一题——从链表中移除节点

2024.1.3 题目来源我的题解方法一 递归方法二 栈方法三 反转链表方法四 单调栈头插法 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2487 我的题解 方法一 递归 当前节点对其右侧节点是否删除无影响&#xff0c;因此可以对其右侧节点进行递归移除。 若当前节点为空&am…

ElasticSearch 性能优化

提升写入性能 使用 bulk 接口批量写入 节省重复创建连接的网络开销通过进行基准测试来找到最佳的批处理数量 延长 refresh 的时间间隔 通过延长 refresh&#xff08;刷新&#xff09;的时间间隔可以降低段合并的频率&#xff0c;段合并十分耗费资源默认的刷新频率为1s&…