Docker安装Elasticsearch和Kibana

news2024/12/23 15:52:24

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 1. 开发环境
  • 2. 同一网络环境配置(可选)
  • 3. 镜像拉取
    • 3.1 ES镜像拉取
    • 3.2 Kibana镜像拉取
  • 4. 查看镜像
  • 5. ES安装(运行容器)
    • 5.1 运行容器
    • 5.2 查看容器运行状态
    • 5.3 访问ES
      • 5.3.1 curl命令访问
      • 5.3.2 本机电脑浏览器使用虚拟机ip访问
  • 6. Kibana安装(运行容器)
    • 6.1 运行容器
    • 6.2 查看运行状态
    • 6.3 访问Kibana


1. 开发环境

Linux系统版本:ubuntu 22.04.2
Docker版本:24.0.7
Elasticsearch版本:7.17.0
Kibana版本:7.17.0

参考文章:

  1. Linux系统安装可参考:VirtualBox安装Ubuntu(22.04.2版本,其他版本也可参考此版安装)
  2. Docker安装可参考:Docker安装
  3. Elasticsearch和kibana Windows版本下载可参考:ELK下载(Elasticsearch、Logstash、Kibana)
  4. Elasticsearch Windows版本安装可参考:Elasticsearch安装
  5. kibana Windows版本安装可参考:Kibana安装、配置
  6. kibana操作es可参考:kibana操作elasticsearch(增删改查)
  7. docker安装Elasticsearch和kibana:本篇

注1:
虚拟机内存设置最好不低于2G即2048M
es和kibana版本尽量一致

注2
docker中使用es必须是在非root用户下
docker中使用es必须是在非root用户下
docker中使用es必须是在非root用户下

我这里使用自己的用户hanshan2,所以命令都要加sudo前缀,不然会报没有权限的错

2. 同一网络环境配置(可选)

这里可以创建一个网络环境,后面启动es和kibana容器的时候分别加上这个网络的参数
以此来将es和kibana放在同一网络环境中使用,他的好处可能就是后续访问时不需要写服务器地址,直接使用容器名加端口号即可,如果想要使用这一条件则执行命令创建一个网络环境

sudo docker network create es-net

3. 镜像拉取

3.1 ES镜像拉取

sudo docker pull elasticsearch:7.17.0

在这里插入图片描述

3.2 Kibana镜像拉取

sudo docker pull kibana:7.17.0

在这里插入图片描述

4. 查看镜像

查看已经拉取好的镜像

sudo docker images

在这里插入图片描述

5. ES安装(运行容器)

5.1 运行容器

为了方便看所以加了换行,正常可不加,执行命令后成功则会返回一个很长的容器ID

sudo docker run -d --name es \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
elasticsearch:7.17.0

在这里插入图片描述

注:如果前面创建了新的网络环境es-net,则可以添加一个参数--network es-net将es加入到该网络环境中

使用挂载目录-v参数时出现了问题(容器运行十几到二十几秒左右就会自动停止,暂时不知为何)
所以我这里没有使用-v挂载目录,运行容器后可正常使用,没有出现自动停止的情况

参数详解:
\ 反斜杠表示换行
--name es 表示给容器命名为es
-p 9200:9200 表示端口映射,此端口为http协议的RESTful接口,如增删改查操作
-p 9300:9300 表示同上,区别在于此处为ES节点之间通讯使用的端口,如TCP通讯端口、集群间的端口以及TCPclient(Java程序使用ES需要在配置文件中配置此端口)
-e "ES_JAVA_OPTS=Xms512m -Xmx512m" 内存大小
-e "discovery.type=single-node" 单节点模式(非集群模式)
-e "cluster.name=docker-es-cluster" 设置集群名称
-e "http.host=0.0.0.0" 监听的地址,设置后可外网访问
-v /mydata/es/data:usr/share/elasticsearch/data 文件夹挂载,绑定es的data文件夹
-v /mydata/es/plugins:/usr/share/elasticsearch/plugins 挂载逻辑卷,绑定es的插件目录
--privileged 授予逻辑卷访问权限
--network es-net 加入到名为es-net(前面创建的)的网络中

5.2 查看容器运行状态

查看正在运行的容器

sudo docker ps

在这里插入图片描述

如果没有正在运行的容器则说明容器运行失败
或者容器运行一会过后再去查看就没了,也是有问题的
此时可通过命令查看全部容器

sudo docker ps -a

然后删除重新创建(根据容器名或者容器ID删除容器)

sudo docker rm -f 容器名/容器ID

5.3 访问ES

5.3.1 curl命令访问

若上一步容器启动运行正常,则可进行测试es服务是否可用,执行以下命令访问es

curl http://localhost:9200

如果可用则会返回es的具体信息如下图
在这里插入图片描述

5.3.2 本机电脑浏览器使用虚拟机ip访问

除了上面命令访问还可以到本地的浏览器中访问
由于我们是在虚拟机中的docker运行的服务,此时想要在自己的Windows电脑上的浏览器中访问es,就需要使用到虚拟机的IP地址

ifconfig

在这里插入图片描述
如果没有安装net-tools根据提示安装后再查看即可

在浏览器中输入ip加端口号访问即可

192.168.8.162:9200

如图则表示es启动成功,服务可用
在这里插入图片描述

6. Kibana安装(运行容器)

6.1 运行容器

sudo docker -d --name kibana \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://192.168.8.162:9200 \
kibana:7.17.0

执行成功后返回容器ID
在这里插入图片描述
参数详解
-p 5601:5601 表示端口映射
-e ELASTICSEARCH_HOSTS=http://192.168.8.162:9200 表示设置elasticsearch的地址
--network es-net 表示将kibana也是自己创建的网络环境,使其与es在同一网络环境,可选

6.2 查看运行状态

查看运行的容器

sudo docker ps

在这里插入图片描述
容器状态都正常运行

6.3 访问Kibana

由于kibana启动比较慢
运行容器后,等一会再去访问
浏览器输入访问地址:ip地址:9200 如下

192.168.8.162:5601

这里的ip地址为docker所在虚拟机的ip地址
在这里插入图片描述
注:
如果刚运行容器就去访问服务可能会显示Kibana server is not ready yet
若等几分钟后还是这个提示,大概率是配置出问题了


感谢阅读,祝君暴富!

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

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

相关文章

Leetcode—2578.最小和分割【简单】

2023每日刷题&#xff08;二十三&#xff09; Leetcode—2578.最小和分割 实现代码 class Solution { public:int splitNum(int num) {vector<int> a;while(num) {a.push_back(num % 10);num / 10;}int n a.size();sort(a.begin(), a.begin() n);int num1 0;int num…

商业保险/补充医疗,打工人不可忽略的额外福利

关于看病如何花钱这回事&#xff0c;我之前的认知仅仅停留在可以使用医保报销的层次。 虽然工作这十年来公司一直有提供商业保险的福利&#xff0c;但是之前一直没有关注过它&#xff0c;直到去年偶然尝试了通过商业保险申请理赔&#xff0c;从而实现医保报销后的二次报销。在二…

node 第十六天 模板引擎handlebars

handlebars handlebars文档 Handlebars 是一种简单的 模板语言。 它使用模板和输入对象来生成 HTML 或其他文本格式。Handlebars 模板看起来像常规的文本&#xff0c;但是它带有嵌入式的 Handlebars 表达式 。 这里我们要注意模板引擎的定义 模板引擎是对一串字符串 结合数据 编…

Python GUI标准库tkinter实现与记事本相同菜单的文本编辑器(一)

介绍&#xff1a; Windows操作系统中自带了一款记事本应用程序&#xff0c;通常用于记录文字信息&#xff0c;具有简单文本编辑功能。Windows的记事本可以新建、打开、保存文件&#xff0c;有复制、粘贴、删除等功能&#xff0c;还可以设置字体类型、格式和查看日期时间等。 …

PWM定时器同步问题--STM32F系列高级定时器同步输出PWM

PWM定时器同步问题–STM32F系列高级定时器同步输出PWM 死区时间50ns&#xff0c;设置值为4&#xff1b; 双极性倍频调制波形&#xff1a;上管-上管-下管-下管

数据结构与算法C语言版学习笔记(4)-栈与队列再回顾

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言&#xff1a;一、栈的定义&#xff1a;栈(stack)是限定仅在表尾进行插入和删除操作的线性表&#xff08;1&#xff09;栈是特殊的线性表&#xff08;2&#xff…

元宇宙是否为噱头?若不是,什么是元宇宙?他的概念、技术、应用和影响是什么?

文章来源&#xff1a;元宇宙的概念、技术、应用与影响——一项系统性文献综述 - 中国知网 (cnki.net) 摘要 [目的/意义]系统综述与分析当前国内外的元宇宙研究现状&#xff0c;有利于准确把握元宇宙发展方向&#xff0c;强化元宇宙基础研究&#xff0c;争取元宇宙建构权。[方法…

Docker 学习路线 11:Docker命令行

Docker CLI (命令行界面) 是一个强大的工具&#xff0c;可让您与 Docker 容器、映像、卷和网络进行交互和管理。它为用户提供了广泛的命令&#xff0c;用于在其开发和生产工作流中创建、运行和管理 Docker 容器和其他 Docker 资源。 安装 要开始使用 Docker CLI&#xff0c;您…

企业计算机服务器中了360勒索病毒怎么办?勒索病毒解密,数据恢复

网络技术的不断发展给企业的生产与生活提供了极大的帮助&#xff0c;但随之而来的网络安全威胁也不断增加&#xff0c;近期&#xff0c;云天数据恢复中心的工程师接到了很多企业的求助&#xff0c;企业的计算机服务器数据库遭到了360后缀勒索病毒&#xff0c;通过对该病毒的检测…

Spring笔记(二)(黑马)(AOP面向切面编程)

01、AOP 简介 1.1 AOP的概念 AOP&#xff0c;Aspect Oriented Programming&#xff0c;面向切面编程&#xff0c;是对面向对象编程OOP的升华。OOP是纵向对一个事物的抽象&#xff0c;一个对象包括静态的属性信息&#xff0c;包括动态的方法信息等。而AOP是横向的对不同事物的…

2023年辽宁省数学建模竞赛B题数据驱动的水下导航适配区分类预测

2023年辽宁省数学建模竞赛 B题 数据驱动的水下导航适配区分类预测 原题再现&#xff1a; “海洋强国”战略部署已成为推动中国现代化建设的重要组成部分&#xff0c;国家对此提出“发展海洋经济&#xff0c;保护海洋生态环境&#xff0c;加快建设海洋强国”的明确要求。   …

PageHelper多表关联查询数量问题

PageHelper多表关联查询数量问题 通常我们会使用PageHelper进行分页查询&#xff0c;但是当分页查询被用到多个表的关联查询中时&#xff0c;就有可能导致查询出来的数据总数比我们想要的多得多。 首先在数据库中创建三个demo表&#xff1a;role、path、role_path role角色表…

每日一练 | 华为认证真题练习Day127

1、如图所示&#xff0c;关于OSPF的拓扑和配置&#xff0c;下列说法中正确的是&#xff08;&#xff09;。 A. R1与R2相比&#xff0c;R2更有机会成为DR&#xff0c;因为它的接口DR优先级值较小 B. 只要把R1的接口网络类型恢复为默认的广播类型&#xff0c;R1和R2即可建立稳定…

【可视化Java GUI程序设计教程】第5章 Swing容器的使用

Swing采用自顶向下的方式构建GUI&#xff0c;即先创建容器&#xff0c;再向容器中添加组件。 “组件”面板中的Swing容器 5.1 面板容器&#xff08;JPanel&#xff09; 5.5.1 使用方法 创建面板有以下两种方法 &#xff08;1&#xff09;创建一个窗体&#xff08;JFrame&…

kaggle中报错NameError: name ‘q_1‘ is not defined

在开始练习之前&#xff0c;先点击“全部运行”按钮。

联合阿里p8测试开发耗时一个月整理的全套从0开始到功能测试再到自动化测试再进阶测试开发学习路线图

前言&#xff1a; 从事测试工作已10有余了&#xff0c;今天想聊一下自己刚入门时和现在的今昔对比&#xff0c;虽然现在也没什么成就&#xff0c;只能说笑谈一下自己的测试生涯。 技术栈的变化&#xff1a; 刚开始是做的开发&#xff0c;也是做了三年的开发&#xff0c;刚开始…

工业CT 三维重建 及分割

目录 工业CT介绍 工业CT主要应用于以下领域&#xff1a; CT三维重建软件&#xff1a; 效果&#xff1a; 工业CT介绍 工业CT设备是基于线阵探测器的断层扫描技术&#xff0c;是一种常用的无损检测技术&#xff0c;用于获取物体内部的准确三维结构信息。它通过X射线的投射和接…

Linux - 实现一个简单的 shell

前言 之前我们对进程的替换&#xff0c;进程地址空间等等的概念进行了说明&#xff0c;本篇博客会基于这些知识点来 实现一个简单的 shell &#xff0c;如有疑问&#xff0c;可以参考下述博客&#xff1a;Linux - 进程程序替换 - C/C 如何实现与各个语言之间的相互调用 - 替换…

Spring Gateway基础知识总结

本文主要总结Spring Gateway的基础用法&#xff0c;内容包括网关、Spring Gateway工作流程、Spring Cloud Gateway搭建、路由配置方式、负载均衡实现、断言工厂这几个部分 目录 1. 网关 1.1 网关介绍 1.2 网关对比 1.3 Spring Gateway 1.4 核心概念 1.6 总结 2. Spring …

编程知识\_C与汇编深入分析

1. 汇编怎么调用C函数 1.1 直接调用 bl main 1.2 想传参数怎么办&#xff1f; 在arm中有个ATPCS规则(ARM-THUMB procedure call standard&#xff08;ARM-Thumb过程调用标准&#xff09;。 约定r0-r15寄存器的用途&#xff1a; r0-r3 调用者和被调用者之间传参数 r4-r11 函…