docker 安装 elasticsearch & kibana, 杜绝安装启动报错

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: docker 安装 elasticsearch & kibana, 杜绝安装启动报错

在这里插入图片描述

01、前言

虽然工作中不是第一次接触 elasticsearch (后面简称 es), 但是由于之前有公司环境撑着, 都是一些正式的数据, 所以一直没在本地搭建相关的环境

这次要往 es 里边存放 大量测试数据, 为了不影响测试环境使用还是本地搭一套吧

02、elasticsearch 介绍

es 是基于 lucene 的的基础上开发而成的, 提供了一套分布式、高扩展、高实时的搜索与数据分析引擎, 使用 Java 语言开发

以其简单的 REST 风格 API、分布式特性速度和可扩展性而闻名

03、elasticsearch 优势

3.1 查询性能 & 全文搜索

es 查询性能很快。 由于 es 是在 lucene 基础上构建而成的, 所以在全文本搜索方面表现十分出色

es 同时还是一个 近实时 的搜索平台, 这意味着从文档索引操作到文档变为可搜索状态之间的延时很短,一般 只有一秒

3.2 分布式特性

es 具有 分布式的本质特征。 es 中存储的文档分布在不同的容器中, 这些容器称为分片, 可以进行复制以提供数据 冗余副本, 以防发生硬件故障

es 的分布式特性使得它可以扩展至数百台(甚至数千台)服务器, 并处理 PB 量级的数据

3.3 广泛的功能

es 包含一系列 广泛的功能。 除了速度、可扩展性和弹性等优势以外, es 还有大量强大的内置功能(例如数据汇总和索引生命周期管理), 可以方便用户更加高效地存储和搜索数据

04、kibana 介绍

kibana 是一款适用于 es 的 数据可视化和管理工具, 可以提供实时的直方图、线形图、饼状图和地图

支持用户安全权限体系, 支持各种纬度的插件, 通常搭配 es、logstash 一起使用

05、安装环境说明

  • Docker 版本: v19.03.8
  • Elasticsearch 版本: 7.8.0
  • Kibana 版本: 7.8.0
  • docker elastic

06、elasticsearch 安装

6.1 docker 安装 elasticsearch

为了方便省事, 直接使用 docker 安装 elasticsearch:7.8.0 的 es 就可以

# 拉取 es 的 docker 镜像
# 这里拉取 7.8.0 版本, 也是最近新发布的
docker pull elasticsearch:7.8.0

docker 拉取镜像成功后, 使用命令查看本地是否有此镜像

# 查看 docker 中 es 镜像
docker images elasticsearch
# 发现镜像已经安安静静的在这了
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
elasticsearch       7.8.0               121454ddad72        5 weeks ago         810MB

这里推荐一款 docker 的可视化管理工具, 提供容器、镜像、日志等功能

portainer 最便捷式安装

6.2 docker 启动 elasticsearch

接下来直接启动 docker 中的 es 镜像就好了

# -d : 后台运行
# -p : 指定宿主机与docker启动容器的端口映射
# --name : 为 elasticsearch 容器起个别名
# -e : 指定为单节点集群模式
# -v : 分别将 es 的数据以及插件挂载到宿主机
docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-v ~/docker/data/es:/usr/share/elasticsearch/data \
-v ~/docker/plugins/es:/usr/share/elasticsearch/plugins \
elasticsearch:7.8.0 

浏览器输入 http://localhost:9200/ 或者终端输入 curl http://localhost:9200/ 来检查es是否安装成功

{
    "name":"018ed28bad4d",
    "cluster_name":"docker-cluster",
    "cluster_uuid":"dBM2ktQ3TOu4_ivrDc0aBw",
    "version":{
        "number":"7.8.0",
        "build_flavor":"default",
        "build_type":"docker",
         ...
    },
    "tagline":"You Know, for Search"
}

07、kibana 安装

7.1 docker 安装 kibana

需要注意的是, kibana 的版本最好与 elasticsearch 保持一致, 避免发生不必要的错误

# 直接和 es 保持一致
docker pull kibana:7.8.0
# 查看镜像是否拉取到本地
docker images kibana
# 版本与 es 也是一致的 7.8.0
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
kibana              7.8.0               df0a0da46dd1        5 weeks ago         1.29GB

可以看到 kibana 的镜像已经拉取好了, 接下来启动 kibana 试试页面效果

7.2 docker 启动 kibana

7.8.0 版本的 kibana 包比较大, 启动较慢, 稍等个半分钟

# -e : 指定环境变量配置, 提供汉化
# --like : 建立两个容器之间的关联, kibana 关联到 es
docker run -d --name kibana --link elasticsearch:elasticsearch -e "I18N_LOCALE=zh-CN" -p 5601:5601 kibana:7.8.0
# kibana 的汉化我感觉做的并不好
# 如果不习惯汉化, 可以把条件去除
docker run -d --name kibana --link elasticsearch:elasticsearch -p 5601:5601 kibana:7.8.0

可以根据 portainer 查看下容器日志, 或者使用 docker 命令也可以

# 查看 kibana 的日志
docker logs kibana

浏览器输入地址 http://localhost:5601/, 启动成功

08、学习总结

安装 es & kibana 也是躺了不少雷, 包括单节点启动异常、kibana 无法通信 es等

躺了这么多雷, 也再次明白一个事实, 碰到问题结合官网看

也尝试了使用 nshou/elasticsearch-kibana 的组合镜像, 这个镜像包含了 es & kibana 两个镜像, 安装后就放弃了, 自行安装体会

后面再写一个 docker-compose 的方式安装, 会放在写 es 的基本操作文章内

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
32 2
|
7天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
22 2
|
8天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
16 3
|
10天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
105 2
|
16天前
|
JavaScript 前端开发 Docker
拿下奇怪的前端报错(二):nvm不可用报错`GLIBC_2.27‘‘GLIBCXX_3.4.20‘not Found?+ 使用docker构建多个前端项目实践
本文介绍了在多版本Node.js环境中使用nvm进行版本管理和遇到的问题,以及通过Docker化构建流程来解决兼容性问题的方法。文中详细描述了构建Docker镜像、启动临时容器复制构建产物的具体步骤,有效解决了不同项目对Node.js版本的不同需求。
|
17天前
|
网络虚拟化 Docker 容器
docker Desktop报错 error pulling image configuration 处理
docker Desktop报错 error pulling image configuration 处理
29 0
|
6月前
|
Ubuntu 网络安全 数据安全/隐私保护
百度搜索:蓝易云【docker通过dockerfile安装sftp教程。】
现在,你已经通过 Dockerfile 成功安装了 SFTP,并且可以使用指定的用户名和公钥进行远程访问。请确保替换示例中的用户名、密码和公钥为自己的实际值。
170 1
|
消息中间件 Shell RocketMQ
百度搜索:蓝易云 ,常用环境部署—Docker安装RocketMQ教程!
通过按照上述步骤,您可以在Docker中成功安装和部署RocketMQ。请注意,上述命令仅提供了一个基本的安装和配置过程,具体配置和使用可以根据您的需求进行进一步调整。确保在执行命令之前,您已经安装并配置好Docker环境。
176 0
|
18天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
35 1
|
3月前
|
Linux 测试技术 Docker
Docker CE for CentOS 安装教程
Docker CE for CentOS 安装教程
125 1