docker-elasticsearch-kibana-logstash
一、安装 Elasticsearch
尝试直接拉取 Elasticsearch 镜像:
执行 docker pull docker.elastic.co/elasticsearch/elasticsearch,拉取失败,错误提示为 “Error response from daemon: manifest for docker.elastic.co/elasticsearch/elasticsearch:latest not found: manifest unknown: manifest unknown”。
然后输入具体版本号进行拉取,如 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.3,这次成功拉取了镜像。
运行 Elasticsearch:
首先创建一个网络,因为后面还有其他组件会用到,便于让这些容器之间通信。执行命令 docker network create es-net。
接着运行 Elasticsearch 容器,命令如下:
plaintext
Copy
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms1024M -Xmx1024m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.14.3 #也可以是镜像 ID
这里设置的内存为 1G,如果不设置,在资源有限的虚拟机(如 2 核 2G 内存加上 2G 虚拟内存,或者重新分配为 4 核 4G 内存和 4G 虚拟内存)上可能会直接卡爆。刚开始运行时,CPU 会占用较大,运行一会儿就会降下来。
设置密码:
访问 https://IP:9200,注意是 https,这个版本不能通过 http 访问。此时会提示输入用户名密码,但密码在哪里呢?可以先自己设置密码。
进入 Elasticsearch 容器,执行 docker exec -it es bash,当前目录为 /usr/share/elasticsearch/。
执行 ./bin/elasticsearch-setup-passwords interactive,会出现提示 “Initiating the setup of passwords for reserved users elastic, apm_system, kibana, logstash_system, beats_system, remote_monitoring_user. You will be prompted to enter passwords as the process progresses. Please confirm that you would like to continue [y/N]”。建议设置相同的密码,方便记忆。按 Y 后,输入多遍相同的密码。
然后重启容器,docker restart es。再次输入 https://IP:9200,输入 “elastic” 和刚才设置的密码就可以了。
另一种重设密码的方法:
进入 es 容器,执行 elasticsearch-reset-password -u elastic,按 Y 回车会在 SSH 界面中输出一串密码。
设置 kibana 密码,执行 elasticsearch-reset-password -u kibana_system。
新建用户,执行 elasticsearch-users useradd logadmin,然后输入密码。
设置角色,执行 elasticsearch-users roles -a superuser logadmin 和 elasticsearch-users roles -a kibana_system logadmin。
移除授权,执行 elasticsearch-users roles -r kibana_admin logadmin。
查看授权,执行 elasticsearch-users roles -v logadmin。
二、安装 Kibana
拉取 Kibana 镜像:
docker pull docker.elastic.co/kibana/kibana:8.14.3。
运行 Kibana:
执行命令 docker run -d --name kibana -p 5601:5601 --network es-net docker.elastic.co/kibana/kibana:8.14.3。
配置 Kibana:
先进入 Elasticsearch 容器,修改 elasticsearch.yml,可以修改以下内容:
plaintext
Copy
xpack.security.http.ssl:
enabled:
也可以把 xpack.security.enabled: true改为false,这样 Kibana 就不需要配置密码了。然后重启 Elasticsearch 容器。
进入 Kibana 容器,修改 kibana.yml,增加以下内容:
plaintext
Copy
i18n.locale: zh-CN
elasticsearch.username: logadmin
elasticsearch.password: 123456
elasticsearch.hosts: [ "http://es:9200" ] #容器名,这一句不改可能启动不了 Kibana,有的不改也能启动 Kibana 然后在网页初始界面配置地址,还有的改为容器网关 ip 172.18.0.1...
修改后重启 Kibana 容器,就可以用 “logadmin” 登录了。如果把 “logadmin” 改为 “kibana_system” 也能进入登录界面,但用这个账户登录可能会提示没有权限,而用 “elastic” 账户登录可以进入。
三、安装 Logstash
拉取 Logstash 镜像:
docker pull docker.elastic.co/logstash/logstash:8.14.3。
运行 Logstash:
先创建一个临时的 Logstash 容器,执行命令:
plaintext
Copy
docker run -d --name logstash --network es-net \
-e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" \
--privileged=true \
-p 5044:5044 \
-p 9600:9600 \
docker.elastic.co/logstash/logstash:8.14.3
复制文件,执行以下命令:
plaintext
Copy
docker cp -a logstash:/usr/share/logstash/config /root/elk/logstash-config
docker cp -a logstash:/usr/share/logstash/pipeline /root/elk/logstash-pipeline
删除临时容器,docker rm logstash -f。
重新创建容器,执行命令:
docker run -d --name logstash --network es-net \
-v /root/elk/logstash-config:/usr/share/logstash/config \
-v /root/elk/logstash-pipeline:/usr/share/logstash/pipeline \
-e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" \
--privileged=true \
-p 5044:5044 \
-p 9600:9600 \
docker.elastic.co/logstash/logstash:8.14.3
但可能会出现启动后能访问 http://ip:9600,却不能访问 http://ip:5044的情况。
另外,如果直接映射目录创建 Elasticsearch 容器,可能会导致无法启动容器。可以先临时创建一个没有映射目录的容器,然后用docker cp把几个目录复制出来,再删除这个容器,最后就能用映射的目录创建容器了。具体命令如下:
plaintext
Copy
docker run -d \
--name es \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms1024M -Xmx1024m" \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.14.3
docker cp -a es:/usr/share/elasticsearch/data /root/elk/es-data
docker cp -a es:/usr/share/elasticsearch/config /root/elk/es-config
docker cp -a es:/usr/share/elasticsearch/logs /root/elk/es-logs
docker cp -a es:/usr/share/elasticsearch/plugins /root/elk/es-plugins
docker rm es -f
docker run -d \
--name es \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms1024M -Xmx1024m" \
-v /root/elk/es-data:/usr/share/elasticsearch/data \
-v /root/elk/es-config:/usr/share/elasticsearch/config \
-v /root/elk/es-logs:/usr/share/elasticsearch/logs \
-v /root/elk/es-plugins:/usr/share/elasticsearch/plugins \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.14.3
相关文章:
docker-elasticsearch-kibana-logstash
一、安装 Elasticsearch 尝试直接拉取 Elasticsearch 镜像: 执行 docker pull docker.elastic.co/elasticsearch/elasticsearch,拉取失败,错误提示为 “Error response from daemon: manifest for docker.elastic.co/elasticsearch/elasticse…...
C#设计模式——抽象工厂模式(重点)
文章目录 项目地址一、抽象工厂模式1.1 特性1.2 使用反射获取特性标记的类1.3 完整代码 项目地址 教程作者:教程地址: 代码仓库地址: 所用到的框架和插件: dbt airflow一、抽象工厂模式 工厂方法模式依然存在一个问题就是&…...

全新AI模型家族登场:完全可复现的开源语言模型OLMo 2
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

用Matlab和SIMULINK实现DPCM仿真和双边带调幅系统仿真
1、使用SIMULINK或Matlab实现DPCM仿真 1.1 DPCM原理 差分脉冲编码调制,简称DPCM,主要用于将模拟信号转换为数字信号,同时减少数据的冗余度以实现数据压缩。在DPCM中,信号的每个抽样值不是独立编码的,而是通过预测前一…...

RabbitMQ的交换机总结
1.direct交换机 2.fanout交换机...

Android so库的编译
在没弄明白so库编译的关系前,直接看网上博主的博文,常常会觉得云里雾里的,为什么一会儿通过Android工程cmake编译,一会儿又通过NDK命令去编译。两者编译的so库有什么区别? android版第三方库编译总体思路: 对于新手小白来说搞明白上面的总体思路图很有必…...
2024年底-Arch linux或转为0BSD许可证!
原文:https://archlinux.org/news/providing-a-license-for-package-sources/ 解读:Arch Linux社区通过RFC 40达成共识,决定将所有软件包源代码更改为0BSD许可证。 0BSD许可证是什么?:这是一个非常自由的开源许可证&a…...
深入解析音视频流媒体SIP协议交互过程
一、引言 在音视频流媒体传输过程中,SIP(Session Initiation Protocol)协议发挥着举足轻重的作用。本文将详细全面地介绍音视频流媒体传输中的SIP协议,包括其基本概念、交互过程、关键信令以及应用场景 二、SIP协议基本概念 1.…...

linux安装mysql8.0.40
一、下载MySQL安装包 1.查看glibc版本 rpm -qa | grep glibc 2.到mysql官网下载安装包 二、解压安装 1.上传压缩包纸/usr/local 目录下,解压: tar -xvf mysql-8.0.40-linux-glibc2.17-x86_64.tar.xz 2.重命名: mv mysql-8.0.40-linux-…...

Java基础之控制语句:开启编程逻辑之门
一、Java控制语句概述 Java 中的控制语句主要分为选择结构、循环结构和跳转语句三大类,它们在程序中起着至关重要的作用,能够决定程序的执行流程。 选择结构用于根据不同的条件执行不同的代码路径,主要包括 if 语句和 switch 语句。if 语句有…...
如何还原 HTTP 请求日志中的 URL 编码参数?详解 %40 到 @
在记录HTTP请求的日志中出现了这样的情况: 2024-11-20 11:12:49 INFO network_request gz_login 96 Body: countryAbbrCN&countryCode86&email1222405567%40qq.com&password12354e50456db124f9f34e2789308733&type1 出现这种情况的原因是&#x…...
usb_cam ros包话题说明,image transport包使用
1. /usb_cam/image_raw 类型: sensor_msgs/Image 内容: 摄像头采集的原始图像数据。 用途: 图像处理和分析,例如使用 OpenCV 处理图像。视频流可达10MB/s 图像流查看,例如用 rqt_image_view 进行显示: 2./usb_cam/image_raw/compressed …...

微前端-MicroApp
微前端即是由一个主应用来集成多个微应用(可以不区分技术栈进行集成) 下面是使用微前端框架之一 MicroApp 对 react微应用 的详细流程 第一步 创建主应用my-mj-app 利用脚手架 npx create-react-app my-mj-app 快速创建 安装 npm install --save rea…...
Unity UGUI 垂直循环复用滚动
一 基础类 在unity里面新建这几个类 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// <summary> /// 垂直方向滚动 /// </summary> public class CustomScroll:MonoBehaviour {public …...
Spring MVC 深度剖析:优势与劣势全面解读
文章目录 Spring MVC 优势1. **松耦合**2. **易于测试**3. **灵活性**4. **强大的配置机制**5. **异常处理**6. **国际化支持**7. **数据验证**8. **安全性**9. **性能优化** Spring MVC 劣势1. **学习曲线**2. **配置复杂性**3. **性能开销**4. **视图技术限制**5. **社区和支…...
力扣hot100-->前缀和/前缀书/LRU缓存
前缀和 1. 560. 和为 K 的子数组 中等 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2&#…...

Three.js CSS2D/CSS3D渲染器
在Three.js开发过程中,有时需要将 HTML 元素与 Three.js 渲染的 3D 场景相结合,这就需要用到 CSS2DRenderer 和 CSS3DRenderer。本文将详细介绍这两种渲染器的原理及其应用 一、CSS2DRenderer 渲染器 概述 CSS2DRenderer 渲染器用于在 3D 场景中渲染纯…...
mongodb文档字符串批量替换
【mongodb文档字符串批量替换脚本语句】 前言: 1、本方式对于数据量大的情况不适用,执行可能比较慢; 2、数据量大的情况,个人推荐代码层面解决,多线程替换更快: (1)写实体类的方式…...
前端安全和解决方案
提到这个我可能想到的就是不要暴露太多的账号密码信息。一些页面的请求和操作要加上权限。 然后下面就详细的介绍前端可能遇到的安全问题以及解决方法。 首先比较常见的前端的安全性问题就是跨站脚本攻击(XSS)。跨站请求伪造(csrfÿ…...
Tlias智能辅助学习系统-部门管理
包括查询、新增、删除、修改功能 控制层 package com.itheima.controller;import com.itheima.pojo.Dept; import com.itheima.pojo.Result; import com.itheima.service.DeptService; import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.XSlf4j; import org.spr…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...