基于Docker的ElasticSearch、Kibana服务搭建并开启用户鉴权

🏷️个人主页:牵着猫散步的鼠鼠 

🏷️系列专栏:云原生与服务部署专栏

🏷️个人学习笔记,若有缺误,欢迎评论区指正 

目录

1. 前言

2. 服务搭建

2.1. 部署ElasticSearch

2.2. 部署Kibana

3. 总结


1. 前言

发现有段时间没更文了,突然想到ES还没有发过相关的文章,翻了翻以前的笔记,又可以水几篇笔记了哈哈。

博主这里推荐使用至少2G运行内存的的服务器作为学习平台,因为ES服务占用的内存还是比较大的,除去ElasticSearch外我们还需要部署一个可视化操作工具Kibana。如果你是Linux centos系统的话,下面的指令可以一路CV完成服务的部署。

2. 服务搭建

2.1. 部署ElasticSearch

拉取docker镜像

docker pull elasticsearch:7.17.21

 创建挂载卷目录

mkdir /local/es-data -p
mkdir /local/es-plugins -p
mkdir /local/es-config -p
chmod 777 /local/es-data
chmod 777 /local/es-plugins
chmod 777 /local/es-config

第一次启动容器

docker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \-e "discovery.type=single-node" \--privileged \--network es-net \-p 9200:9200 \-p 9300:9300 \
elasticsearch:7.17.21

拷贝出配置文件 

docker cp es:/usr/share/elasticsearch/config/ /local/es-config/

删除容器

docker rm -f es

以单机模式运行容器(也可以结合K8S进行集群部署,我们在后面的K8S系列文章中应该也会讲到)

docker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \-e "discovery.type=single-node" \-e "ELASTICSEARCH_USERNAME=root" \-e "ELASTICSEARCH_PASSWORD=你的密码" \-v /local/es-data:/usr/share/elasticsearch/data \-v /local/es-plugins:/usr/share/elasticsearch/plugins \-v /local/es-config/config:/usr/share/elasticsearch/config \--privileged \--network es-net \-p 9200:9200 \-p 9300:9300 \
elasticsearch:7.17.21
  •  `-e "cluster.name=es-docker-cluster"`:设置集群名称
  • `-e "http.host=0.0.0.0"`:监听的地址,可以外网访问
  • `-e "ES_JAVA_OPTS=-Xms512m -Xmx1024m"`:内存大小
  • `-e "discovery.type=single-node"`:非集群模式
  • `-v es-data:/usr/share/elasticsearch/data`:挂载逻辑卷,绑定es的数据目录
  • `-v es-logs:/usr/share/elasticsearch/logs`:挂载逻辑卷,绑定es的日志目录
  • `-v es-plugins:/usr/share/elasticsearch/plugins`:挂载逻辑卷,绑定es的插件目录
  • `--privileged`:授予逻辑卷访问权
  • `--network es-net` :加入一个名为es-net的网络中
  • `-p 9200:9200`:端口映射配置

进入容器内生成密码

docker exec -it es /bin/bash

生成密码 ,他会让你为各个预设角色设置密码,包括 apm_system、kibana、kibana_system、logstash_system、beats_system、remote_monitoring_user 以及 elastic。

elasticsearch-setup-passwords interactive

访问9200端口,测试服务是否正常启动,若正常启动会看到要求输入账号密码,我们这里账号输入elastic,密码输入你设置的

账号密码正确就会看到如下信息

2.2. 部署Kibana

拉取docker镜像

docker pull kibana:7.17.21

第一次运行容器

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1

 拷贝出kibana配置文件

docker cp kibana:/usr/share/kibana/config/ /local/kibana-config

删除容器

docker rm -f kibana

 修改/local/kibana-config/config/kibana.yml配置文件,添加如下配置,让kibana有权限去访问ES

elasticsearch.username: "kibana_system"
elasticsearch.password: "你的密码"

重启容器并挂载配置文件目录

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
-v /local/kibana-config/config:/usr/share/kibana/config \
--network=es-net \
-p 5601:5601  \
kibana:7.17.21

访问5601端口,访问kibana界面,输入账号密码(账号就是预设用户,比如elastic,密码就是你在es容器中设置的密码)登录

 如果网页能够进入,但是一直报错,可以尝试清空浏览器缓存,重新访问

3. 总结

部署ES主要是部署两个服务,一是ES服务本身,二是Kibana作为可视化面板。目前ES的部署模式使用的是单机模式,操作比较简单,后续我们可能会结合K8S实现ES的集群部署,保证ES服务的高可用。

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

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

相关文章

安全态势管理的六大挑战:态势感知

德迅云安全鉴于如今的安全威胁不断变幻,企业对实施态势管理策略至关重要,可以让安全团队根据需要进行安全策略的动态调整。如果企业在研究构建态势感知管理,需要特别关注以下六个方面的挑战。 如果企业正在使用一个或多个平台,那么…

java为什么main方法是主程序入口?已回答

答: 其实是C语言程序员规定的main,java程序才能通过main来进入程序,java程序是通过jvm虚拟机来运行的,其实main方法是可以修改的,C程序员来规定是main方法来进入主程序,还是其他方法进入主程序,…

IS-IS链路状态数据库

原理概述 一个OSPF链路状态数据库是若干条LSA的集合。与此相似,一个IS-IS链路状态数据库是由若干条LSP的集合。与OSPF链路状态数据库不同,IS-IS链路状态数据库有Level-1和Level-2之分。 在IS-IS协议中,每一条LSA都有一条剩余生存时间、一个…

[力扣题解] 417. 太平洋大西洋水流问题

题目&#xff1a;417. 太平洋大西洋水流问题 思路 代码 (1) MyMothed // 符合条件的点 : 既可以到达左或上边界&#xff0c;也可以到达右或下边界&#xff1b; class Solution { private:int dir[4][2] {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};vector<vector<int>&g…

safetensors介绍

1 介绍 safetensors 是 Huggingface 推出的一种可靠、易移植的机器学习模型存储格式&#xff0c;用于安全地存储 Tensor&#xff0c;而且速度很快&#xff08;零拷贝&#xff09;。 safetensors 格式结构&#xff1a; 8 bytes&#xff1a;一个无符号的整数&#xff0c;表示…

Dubbo源码及总结

Springboot整合Dubbo启动解析Bean定义 根据springboot启动原理&#xff0c;会先把启动类下的所有类先进行解析bean定义&#xff0c;所以要先EnableDubbo这个注解&#xff0c;再根据这个注解里面的注解&#xff0c;可以知道import的两个类DubboComponentScanRegistrar和DubboCo…

输入一串字符,输入想要字符串前*的个数n,判断字符串前*的个数是大于n还是小于n,如果大于n则删除多余的*其它保持不变,如果小于n,则字符串也保持不变

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void fun(char* a, int n) {int i 0, j 0, m 0,b0,c0;char* p;p a;//第一步&#xff0c;判断字母前面有多少个*while (p[i] *){j;}printf("字母前*的个数%d\n",j);//求总的字符串长度while (a[m] !…

【全开源】沃德商协会管理系统源码(FastAdmin+ThinkPHP+Uniapp)

一款基于FastAdminThinkPHPUniapp开发的商协会系统&#xff0c;新一代数字化商协会运营管理系统&#xff0c;以“智慧化会员体系、智敏化内容运营、智能化活动构建”三大板块为基点&#xff0c;实施功能全场景覆盖&#xff0c;一站式解决商协会需求壁垒&#xff0c;有效快速建立…

护眼小贴士:学生如何正确使用台灯?

随着电子设备的普及和长时间的用眼&#xff0c;长时间盯着屏幕或学习&#xff0c;眼睛需要不断调节焦距&#xff0c;导致眼睛肌肉疲劳&#xff0c;进而引发视力下降。这种现象在年轻一代甚至青少年中尤为普遍&#xff0c;这种疲劳状态不仅影响眼睛的舒适度&#xff0c;还会导致…

linux配置防火墙端口

配置防火墙&#xff0c;添加或删除端口&#xff0c;需要有root权限。 防火墙常用命令如下&#xff1a; 1.查看防火墙状态&#xff1a; systemctl status firewalld active(running)&#xff1a;开启状态&#xff0c;正在运行中 inactive(dead)&#xff1a;关闭状态&#xff…

十、OpenAI之视觉

视觉 学习怎样使用视觉能力理解图片 1. 介绍 GPT-4o和GPT-4 Turbo两个模型都拥有视觉能力&#xff0c;这意味着模型可以接收图片并回答关于图片的问题。从历史上看&#xff0c;语言模型系统被限制采用单一的文本输入方式。 2. 快速开始 模型使用图片主要有2种方式&#xff…

qml下拉条实现

qml下拉条实现 代码结构 代码结构 Rectangle里面嵌套一个Flickable&#xff0c;然后下面是一个Rectangle&#xff0c;作为滑动的区域&#xff0c;给最外层的Rectangle的y加一个属性动画。滑动区域写好onPressed和Onrelease即可。 import QtQuick 2.15 import QtQuick.Control…

从《红楼梦》的视角看大模型知识库 RAG 服务的 Rerank 调优

背景介绍 在之前的文章 有道 QAnything 源码解读 中介绍了有道 RAG 的一个主要亮点在于对 Rerank 机制的重视。 从目前来看&#xff0c;Rerank 确实逐渐成为 RAG 的一个重要模块&#xff0c;在这篇文章中就希望能讲清楚为什么 RAG 服务需要 Rerank 机制&#xff0c;以及如何选…

Redisson-分布式锁单Redis节点模式

Redisson-分布式锁单Redis节点模式 为什么要用分布式锁&#xff1f; 使用分布式锁的主要目的是为了解决多线程或多进程并发访问共享资源时可能出现的竞争条件和数据一致性问题。举一些实际场㬌&#xff1a; 数据库并发控制&#xff1a;在分布式系统中&#xff0c;多个节点同…

虚拟机上部署java微服务

在Windows服务器上安装Ubuntu系统&#xff0c;先安装虚拟机&#xff0c;然后再虚拟机上安装Ubuntu系统 启动虚拟机上的Ubuntu系统&#xff0c;然后安装jdk。安装好的Ubuntu系统是带桌面版的&#xff0c;需要打开 “终端” 控制台&#xff0c;通过命令行交互的方式部署程序&…

git 合并多个commit 使分支保持一次提交

1.控制台输入 git log 查看commit历史 找到历史提交sha 2.控制台输入 git rebase -i d0c5de8f7ca8e58fef347b36dd6b0f42f551cdb4 进入变基 3.输入英文i进入VM输入模式 4.保留第一行的pick 后面的pick改为s 5.esc退出输入模式 6.输入:wq保存退出 7.输入英文i进入VM输入模式…

从0开始实现一个博客系统 (SSM 实现)

相关技术 Spring Spring Boot Spring MVC MyBatis Html Css JS 实现功能 用户注册 - 密码加盐加密 (md5 加密)前后端用户信息存储 - 令牌技术用户登录 - (使用 拦截器 做登录校验)博客的增删改查后端数据返回前端, 采用 SpringBoot 做统一功能处理和统一异常处理 数据…

软考-程序员 知识点与部分真题梳理

软考-程序员 知识点与部分真题梳理 参照《程序员教程》第五版划分类别&#xff1b; 持续更新中… 计算机系统基础知识 如何理解和处理浮点数的加减法运算 在计算机科学中&#xff0c;处理浮点数的表示和运算是基础且关键的&#xff0c;尤其是在进行科学计算、图形处理和数据分…

V2I(车与基础设施)介绍

V2I&#xff08;车与基础设施&#xff09;介绍 一、V2I技术概述 V2I&#xff08;Vehicle-to-Infrastructure&#xff09;技术&#xff0c;全称汽车与基础设施通讯&#xff0c;也被称为信号灯系统。它通过无线通信技术&#xff0c;为车载智能交通运输系统设立了专门的通信频段…

【网络】为什么udp协议报头有长度字段,而tcp没有

引言&#xff1a; 在网络通信中&#xff0c;UDP&#xff08;用户数据报协议&#xff09;和TCP&#xff08;传输控制协议&#xff09;是两种常用的传输层协议。它们在设计和功能上有一些不同之处&#xff0c;其中之一就是报头中的长度字段。本文将深入探讨UDP和TCP协议中长度字…