• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Docker安装Elasticsearch和Kibana

武飞扬头像
Redis_6389
帮助2

前言

学习谷粒商城基础篇完结后便开启了高级部分的学习,高级部分的第一章节 Elasticsearch 搜索和分析引擎。文档地址:elasticsearch中文文档地址

一、Elasticsearch 简介

1.1 Elasticsearch 是什么?

Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic Stack 是一套适用于数据采集、扩充、存储、分析和可视化的免费开源工具。人们通常将 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为 Beats,可用来向 Elasticsearch 发送数据。

1.2 Elasticsearch 的用途

Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:

  • 应用程序搜索
  • 网站搜索
  • 企业搜索
  • 日志处理和分析
  • 基础设施指标和容器监测
  • 应用程序性能监测
  • 地理空间数据分析和可视化
  • 安全分析
  • 业务分析

1.3 Elasticsearch 工作原理

原始数据会从多个来源(包括日志、系统指标和网络应用程序)输入到 Elasticsearch 中。数据采集指在 Elasticsearch 中进行索引之前解析、标准化并充实这些原始数据的过程。这些数据在 Elasticsearch 中索引完成之后,用户便可针对他们的数据运行复杂的查询,并使用聚合来检索自身数据的复杂汇总。在 Kibana 中,用户可以基于自己的数据创建强大的可视化,分享仪表板,并对 Elastic Stack 进行管理

1.4 Logstash 的用途

Logstash 是 Elastic Stack 的核心产品之一,可用来对数据进行聚合和处理,并将数据发送到 Elasticsearch。Logstash 是一个开源的服务器端数据处理管道,允许您在将数据索引到 Elasticsearch 之前同时从多个来源采集数据,并对数据进行充实和转换。

1.5 Kibana 的用途

Kibana 是一款适用于 Elasticsearch 的数据可视化和管理工具,可以提供实时的直方图、线形图、饼状图和地图。Kibana 同时还包括诸如 Canvas 和 Elastic Maps 等高级应用程序;Canvas 允许用户基于自身数据创建定制的动态信息图表,而 Elastic Maps 则可用来对地理空间数据进行可视化。

二、Docker 安装ES和Kibana

2.1 下载镜像文件

#存储和检索数据
docker pull elasticsearch:7.4.2 

#可视化检索数据
docker pull kibana:7.4.2 

若出现如下错误,则表明连接超时,我们更换镜像即可。

Unable to find image 'elaticsearch' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

解决方案
1.执行如下命令

vim /etc/docker/daemon.json

2.粘贴到daemon.json文件中

{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

3.重启docker容器

systemctl restart docker

若出现如下错误,则表明虚拟机未联网,需要将虚拟机联网。

Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:39306->[::1]:53: read: connection refused

解决方案
1.解决centos7连不上网络的问题链接
2.解决后执行 docker pull elasticsearch:7.4.2 和 docker pull kibana:7.4.2 完成镜像下载。

2.2 创建实例

mkdir -p /mydata/elasticsearch/config 
mkdir -p /mydata/elasticsearch/data 

echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml 

chmod -R 777 /mydata/elasticsearch/ 保证权限
[root@localhost config]# docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data  -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2
146e8018abb25ea77482783685d6279b0ad2b23f7153f16f83c467f3bb4ca594
[root@localhost config]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED              STATUS              PORTS                                                                                  NAMES
146e8018abb2   elasticsearch:7.4.2   "/usr/local/bin/dock…"   About a minute ago   Up About a minute   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp   elasticsearch
e22de2962734   redis                 "docker-entrypoint.s…"   6 weeks ago          Up 8 minutes        0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                              redis
62bab71c9c70   mysql:5.7             "docker-entrypoint.s…"   8 months ago         Up 8 minutes        0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                   mysql

以后再外面装好插件重启即可; 特别注意: -e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导 致过大启动不了 ES

[root@localhost config]# docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.220.131:9200 -p 5601:5601  -d kibana:7.4.2
e8df2cb8d0ef66d3ee8c02c0eb015d174cef731b61feb8711a4cf84c9d5e849d
[root@localhost config]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
e8df2cb8d0ef   kibana:7.4.2          "/usr/local/bin/dumb…"   53 seconds ago   Up 51 seconds   0.0.0.0:5601->5601/tcp, :::5601->5601/tcp                                              kibana
146e8018abb2   elasticsearch:7.4.2   "/usr/local/bin/dock…"   33 minutes ago   Up 33 minutes   0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp   elasticsearch
e22de2962734   redis                 "docker-entrypoint.s…"   6 weeks ago      Up 40 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                              redis
62bab71c9c70   mysql:5.7             "docker-entrypoint.s…"   8 months ago     Up 40 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                   mysql

http://192.168.220.131:9200 一定改为自己虚拟机的地址

访问 Elasticsearch 出现如下界面,则说明安装成功。
学新通
访问 Kibana出现如下界面,则说明安装成功。
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbghef
系列文章
更多 icon
同类精品
更多 icon
继续加载