docker搭建es+kibana

docker搭建es+kibana

0 安装docker

如果是mac或者windows,可以直接安装Docker Desktop更加便捷。

前提条件:

  • Docker可以运行在Windows、Mac、CentOS、Ubuntu等操作系统上

  • Docker支持以下的CentOS版本:

    • CentOS 7 (64-bit)
    • CentOS 6.5 (64-bit) 或更高的版本
  • 目前,CentOS 仅发行版本中的内核支持 Docker

    • Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
    • Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
  1. 查看系统内核

uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。

uname -r
  1. 查看已安装的CentOS版本信息
cat /etc/redhat-release

满足上面可以安装docker的条件即可安装。
docker官网:
官网:http://www.docker.com

安装手册:https://docs.docker.com/install/linux/docker-ce/centos(CE-社区版)

① 安装需要的软件包

yy -utils提供了yy-config-manager相关功能,device-mapper-persistent-data和lvm2是设备映射器驱动程序所需要的。

yum install -y yum-utils \device-mapper-persistent-data \lvm2

如果有以下报错信息:

报错:Another app is currently holding the yum lock; waiting for it to exit… 另一个应用程序是:PackageKit 内存:146 M RSS (497 MB VSZ) 已启动: Wed Oct 26 20:20:11 2022 - 00:07之前 状态 :运行中,进程ID:2874 Another app is currently holding the yum lock; waiting for

执行下面命令即可:

rm -f /var/run/yum.pid

② 设置docker镜像为阿里云、更新yum索引

①设置docker镜像为阿里云

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

②我们在更新或配置yum源之后,通常都会使用yum makecache 生成缓存,这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度

yum makecache fast

③ docker安装即后续配置

①安装docker ce

yum install -y docker-ce

②启动docker

systemctl start docker

③查看docker版本

docker version

④设置docker是否开启自起

#查看服务是否自动启动(是:enabled | 否:disabled)
systemctl list-unit-files|grep docker.service #设置开机启动:如不是enabled可以运行如下命令设置自启动
systemctl enable docker
#重新加载服务配置
systemctl daemon-reload #如果希望不进行自启动,运行如下命令设置
systemctl disable docker
#重新加载服务配置
systemctl daemon-reload 

⑤如果我们想卸载docker,执行以下命令

systemctl stop docker 
yum remove -y docker-ce
rm -rf /var/lib/docker

拓展:有时候,我们需要不同的服务器部署相同的镜像,这个时候我们可以使用docker export / import来对镜像进行导入导出

导出:

docker export f299f501774c > rabbit.tar

导入:

docker import - myrabbit < rabbit.tar

1 创建docker网络:用于es与kibana通信

# 1 创建一个docker网络
docker network create es-net
# 查看本机网络
docker network ls
# 删除一个网络
docker network rm es-net# 2 拉取es、kibana镜像
docker pull elasticsearch:7.17.4
docker pull kibana:7.17.4# 3 创建es容器并挂在数据卷
mkdir -p /Users/xsky/docker-home/es-data/_data
mkdir -p /Users/xsky/docker-home/es-plugins
mkdir -p /Users/xsky/docker-home/es-config
mkdir -p /Users/xsky/docker-home/kibana-configtouch elasticsearch.yml
touch kibana.yml

elasticsearch.yml:

cluster.name: "docker-cluster"
network.host: 0.0.0.0

kibana.yml:

server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true

注意📢:

  1. 需要保证要挂载的目录有读写权限,包括要挂载的配置文件。如果没有则用chmod 777命令
  2. 如果要挂载配置文件,则需要提前把配置文件内容写好,不能为空,否则可能会影响es和kibana运行。
  3. 如果只挂载到配置文件目录,不准备配置文件,会导致创建容器后没有配置文件,报错。

2 创建并启动es

docker run -d \--name es7.17.4 -p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \-v /Users/xsky/docker-home/es-data/_data:/usr/share/elasticsearch/data \-v  /Users/xsky/docker-home/es-plugins:/usr/share/elasticsearch/plugins \-v  /Users/xsky/docker-home/es-config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \--privileged \--network es-net \elasticsearch:7.17.4

-e “cluster.name=es-docker-cluster”:设置集群名称
-e “http.host=0.0.0.0”:监听的地址,可以外网访问
-e “ES_JAVA_OPTS=-Xms512m -Xmx512m”:内存大小
-e “discovery.type=single-node”:非集群模式
-v /Users/xsky/docker-home/es-data/_data:挂载逻辑卷,绑定es的数据目录
-v /Users/xsky/docker-home/es-config/elasticsearch.yml:挂载逻辑卷,绑定es的配置文件
-v /Users/xsky/docker-home/es-plugins:挂载逻辑卷,绑定es的插件目录
–privileged:授予逻辑卷访问权
–network es-net :加入一个名为es-net的网络中
-p 9200:9200:端口映射配置

3 创建并启动kibana

docker run -d \
--name kibana17 \
--network=es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://es7.17.4:9200 \ 
kibana:7.17.4

-e ELASTICSEARCH_HOSTS=http://es7.17.4:9200 \ 其中,es7.17.4的名称为上面es容器的名称

4 使用

打开浏览器输入:http://localhost:5601/

导入样例数据,如access.log:

2023-08-20T09:15:00Z - INFO - User 123 accessed resource A
2023-08-20T09:17:30Z - ERROR - User 456 encountered an error while accessing resource B
2023-08-20T09:20:45Z - INFO - User 789 accessed resource C

导入数据成功并设置index索引之后:
在这里插入图片描述

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

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

相关文章

前端需要理解的浏览器知识

1 浏览器架构 浏览器是多进程多线程的应用程序&#xff0c;多进程可以避免相互影响和减少连环崩溃的几率&#xff1a; 浏览器&#xff08;主&#xff09;进程&#xff1a;主要负责界⾯显示、⽤户交互、⼦进程管理、存储等功能。内部会启动多个线程分别处理不同的任务。⽹络进…

在线设计APP ui的网站,分享这7款

在数字时代&#xff0c;用户界面&#xff08;UI&#xff09;设计变得非常重要&#xff0c;因为良好的UI设计可以改善用户体验&#xff0c;增强产品吸引力。随着科学技术的发展&#xff0c;越来越多的应用在线设计网站出现&#xff0c;为设计师和团队提供了一种新的创作方式。本…

论文笔记: One Fits All:Power General Time Series Analysis by Pretrained LM

1 intro 时间序列领域预训练模型/foundation 模型的研究还不是很多 主要挑战是缺乏大量的数据来训练用于时间序列分析的基础模型——>论文利用预训练的语言模型进行通用的时间序列分析 为各种时间序列任务提供了一个统一的框架 论文还调查了为什么从语言领域预训练的Transf…

什么是软件压力测试?软件压力测试工具和流程有哪些?

软件压力测试 一、含义&#xff1a;软件压力测试是一种测试应用程序性能的方法&#xff0c;通过模拟大量用户并发访问&#xff0c;测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题&#xff0c;如内存泄漏、线程锁、资源泄漏等&#xff0c;…

开源软件的崛起:历史与未来

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

go学习之go的语法知识

文章目录 1.go语言开发注意事项2.golang常用的转义字符(escape char)3.golang开发常用的问题小结与提示&#xff1a; 4.go语言注释类型&#xff08;1&#xff09;.注释类型1&#xff09;行注释2&#xff09;块注释(多行注释) &#xff08;2&#xff09;使用细节&#xff1a;1&a…

2023国赛数学建模思路 - 案例:退火算法

文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

Qt跨平台无边框窗口探索记录

一、前言 实现的效果为&#xff1a;通过黑色矩形框预操作&#xff0c;鼠标释放时更新窗口。效果图如下&#xff1a; 1.功能 1.1 已实现功能 8个方向的缩放标题栏拖动标题栏双击最大化/正常窗口窗口最小尺寸预操作框颜色与背景色互补多屏幕默认标题栏 1.2 待开发功能 拖动到…

(学习笔记-调度算法)内存页面置换算法

在了解内存页面置换算法前&#xff0c;我们得先了解 缺页异常&#xff08;缺页中断&#xff09;。 当 CPU 访问的页面不在物理内存中时&#xff0c;便会产生一个缺页中断&#xff0c;请求操作系统将缺页调入到物理内存。那它与一般的中断主要区别在于: 缺页中断在指令执行 [期…

vue项目引入svg组件全过程

文件格式 svg下方对应 .svg index.vue svg-icon 组件 <template><svg:viewBox"viewBox"xmlns"http://www.w3.org/2000/svg"xmlns:xlink"http://www.w3.org/1999/xlink"ref"svg"class"svg-icon":class"class…

Mysql 设置表字段自动赋值创建时间,以及自动更新某一个字段的更新时间

使用场景 一般表设计中记录都有创建时间以及更新时间&#xff0c;而 Mysql 也支持了这种通用的设计需求。 即&#xff1a;可以通过默认值来给时间字段自动赋值&#xff0c;在创建时的默认值就是当前时间也就是记录的创建时间。 记录更新&#xff1a;即某一记录更新时我们要更…

OceanMind海睿思签约常州市建筑科学研究院,打造检验检测行业数字化转型标杆

近日&#xff0c;中新赛克海睿思 与 中国知名综合性建筑研究和科技创新型高科技企业——常州市建筑科学研究院集团股份有限公司&#xff08;以下简称“建科股份”&#xff09;达成深度战略合作&#xff0c;为建科股份提供行业领先的数据工程建设服务&#xff0c;携手推进检验检…