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

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 &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例 2&#…...

Three.js CSS2D/CSS3D渲染器

在Three.js开发过程中&#xff0c;有时需要将 HTML 元素与 Three.js 渲染的 3D 场景相结合&#xff0c;这就需要用到 CSS2DRenderer 和 CSS3DRenderer。本文将详细介绍这两种渲染器的原理及其应用 一、CSS2DRenderer 渲染器 概述 CSS2DRenderer 渲染器用于在 3D 场景中渲染纯…...

mongodb文档字符串批量替换

【mongodb文档字符串批量替换脚本语句】 前言&#xff1a; 1、本方式对于数据量大的情况不适用&#xff0c;执行可能比较慢&#xff1b; 2、数据量大的情况&#xff0c;个人推荐代码层面解决&#xff0c;多线程替换更快&#xff1a; &#xff08;1&#xff09;写实体类的方式…...

前端安全和解决方案

提到这个我可能想到的就是不要暴露太多的账号密码信息。一些页面的请求和操作要加上权限。 然后下面就详细的介绍前端可能遇到的安全问题以及解决方法。 首先比较常见的前端的安全性问题就是跨站脚本攻击&#xff08;XSS&#xff09;。跨站请求伪造&#xff08;csrf&#xff…...

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…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...