当前位置: 首页 > article >正文

【橘子ES】使用docker搭建ELK环境

我们在搭建ELK环境的时候,一般有三种选择。
1、本地安装,你可以到官网把安装包下载下来然后解压,修改配置文件,然后启动,这样比较麻烦,比较考验操作。那有的玩家就要问了,这种操作太吃手感了,有没有比较容易上手的玩法。有的有的,这样的玩法还有两种。
2、容器启动,这就很简单了,拉取镜像,启动容器,都是一键操作的。
3、Elastic cloud,es的官网提供了云服务,你可以注册账号上去直接用,但是免费时间只有14天,后面就得花钱了。当然你可以再找个新账号。这种是最方便的,但是有时间限制。

我们这里重点来说容器启动,首先你确保你的环境上有docker了,不然白扯。

一、拉取镜像

我们先去docker hub上看一下我们要安装的组件的镜像是不是存在,我们先来操作kibana,所以我们直接搜索kibana就可以了。
在这里插入图片描述
我们点进去就看到官方发布的镜像的各个版本以及他的其他信息了。
好的,那我们来拉取kibana的镜像。
在这里插入图片描述
我们使用docker pull kibana来拉取镜像的时候,因为你没指定拉取的哪个版本,,所以他会默认去拉取latest的这个版本,而docker hub上没有这个版本号,所以失败了,那我们就指定一个版本,注意你指定的版本一定是docker hub上存在的,不然你还是会失败。本次我们使用8.4.3这个版本,其余的8的版本也差不多,你可以随便找一个。我们看到docker hub上是有这个8.4.3版本的。
在这里插入图片描述
我们把命令改为docker pull kibana:8.4.3
在这里插入图片描述
ok,此时我们拉取成功了,同样的,我们还需要elasticsearch(简称es)的镜像,而且要注意,es和kibana的版本要保持一致。
命令自然是docker pull elasticsearch:8.4.3,不出意外的话,这个也是可以拉取下来的。
在这里插入图片描述

二、创建网络

我们现在有了镜像,在我们启动容器之前我们需要创建一个docker网络,用于在容器之间通信,这个网络是独立于你宿主机的网络的,他是虚拟的。
其命令就是docker network create 网络名称,我们创建一个docker network create myElkNetwork,他会返回一个网络的唯一标识id,我们这里是38ac953be25f6ad9de506d476c6d80abb43fcdd47c0e0668aa6fc608be4d6da2,实际上没啥用,就是看看有就行。

三、启动容器

我们以单节点最小化的方式启动容器,至于那些命令的详细细节我就不说了,可以看看docker的命令。

docker run -d --name myes01  --net myElkNetwork  -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node"  elasticsearch:8.4.3

这样我们就启动了这个es容器,他的名字叫myes01。
在这里插入图片描述
没有问题,我们可以在浏览器访问一下es的api,然后确定他是不是真的启动成功了。
同样的,我们继续启动kibana:

docker run -d --name myKibana01  --net myElkNetwork -p 5601:5601 kibana:8.4.3

至此我们启动完成了,我们只需要去浏览器打开localhost:5601来确认kibana是不是启动成功即可。
在这里插入图片描述
ok,你会发现他让你输入token 令牌,容器安装就是这样的,你如果本地化安装就没这个问题,我们怎么获取这个token呢。注意,你的这个令牌是kibana访问es的,所以你要去es的容器中去找。你要进入es容器来为kibana生成token。因为es8.x是默认开启密码校验模式的。
我们进入es容器。docker exec -it 容器id /bin/bash
在这里插入图片描述
你可以看到他有一个生成token的命令,我们运行这个命令看下。
在这里插入图片描述
报错了,是因为es内部生成token是要区分是给kibana的还是给es集群的。因为这是两种不同访问方式。所以我们要加上-s “kibana”。
在这里插入图片描述
ok,此时我们就拿到了这个token,贴到kibana的ui界面上看下。
在这里插入图片描述
弹出这个界面,在这里插入图片描述
他让你去kibana的服务上运行bin/kibana-verification-code这个指令,没说的,我们继续进入kibana容器。
在这里插入图片描述
于是我们就生成了这个code,可以正式开启kibana的使用了,是吗,真的可以了吗。
在这里插入图片描述
在你完成了检验之后,你还要输入密码,这很正常,token check和密码账户本来也不一定就是一起的。继续做吧骚年。注意,这个账户密码是你访问es的,所以你需要去es那边,但愿你还没有退出你的es容器。我们继续进入到es容器你会看到这个命令。
在这里插入图片描述
ok,这就是你要执行的。我们来看下他的参数。


elasticsearch@3046fce9312e:~/bin$ elasticsearch-reset-password -h
Resets the password of users in the native realm and built-in users.

Option (* = required)  Description                                          
---------------------  -----------                                          
-E <KeyValuePair>      Configure a setting                                  
-a, --auto                                                                  
-b, --batch                                                                 
-f, --force            Use this option to force execution of the command    
                         against a cluster that is currently unhealthy.     
-h, --help             Show help                                            
-i, --interactive                                                           
-s, --silent           Show minimal output                                  
* -u, --username       The username of the user whose password will be reset
--url                  the URL where the elasticsearch node listens for     
                         connections.                                       
-v, --verbose          Show verbose output      
~~
首先-u是带星号的,一定要加,他的作用是标识你要给哪个账户重置密码,在es启动的时候他会默认创建一个叫做elastic的账户。我们就用这个。
-i 一般也要加上,因为他表示交互式,所谓交互式就是你可以和服务对话,他会提醒你要不要创建,创建啥你输入,不然es自己给你生成哪个密码很抽象,你记不住的。
所以我们的命令就是 elasticsearch-reset-password -u elastic -i

在这里插入图片描述
此时我们真的完成了最后一步。登陆吧骚年。
在这里插入图片描述
在这里插入图片描述
完美进入。你发现了吧,很几把麻烦,尤其是集群会更麻烦,后面我会写一篇集群如何部署的文档。

注意,你之后启动容器就直接run就好,别删了重新启动一个新的,这样你还要再来一遍。

至于如果你使用elastic cloud的话,那会方便的多得多,但是只有14天,后面要收费,很贵的哦。


http://www.kler.cn/a/521021.html

相关文章:

  • [权限提升] 操作系统权限介绍
  • 小阿卡纳牌
  • 特种作业操作之低压电工考试真题
  • C# 添加、替换、提取、或删除Excel中的图片
  • DeepSeek 的背景介绍
  • MongoDB平替数据库对比
  • 2025美赛数学建模C题:奥运奖牌榜模型——思路+代码+模型
  • 二维数组一
  • Linux系统之ifconfig命令的基本使用
  • 2274. 不含特殊楼层的最大连续楼层数
  • 嵌入式C语言:结构体对齐
  • 前部分知识复习01
  • SpringBoot使用 easy-captcha 实现验证码登录功能
  • spring spring-boot spring-cloud发布以及适配
  • SAP MM 记录一次SAP外协采购收货提示 这种物料的特殊库存 O 0100003359 14019002不存在的问题
  • PTMD2.0-疾病相关的翻译后修饰数据库
  • 数字图像处理:实验七
  • 【ProtoBuf 安装】ProtoBuf在window/Linux下的安装 创建/删除swap分区
  • HarmonyOS简介:应用开发的机遇、挑战和趋势
  • DDD实战课 笔记
  • sendto丢包
  • 基于C++的DPU医疗领域编程初探
  • 二级C语言题解:统计奇偶个数以及和与差、拼接字符串中数字并计算差值、提取字符串数组中单词尾部字母
  • Flutter TextPainter 计算文本高度和行数
  • 01-02 三元组与七元组
  • K8S极简教程(4小时快速学会)