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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1天前
|
Ubuntu Shell Docker
在Docker环境下如何“安装”Ubuntu
【8月更文挑战第18天】在Docker环境中“安装”Ubuntu实际上是指利用Ubuntu镜像构建容器。
11 1
|
4天前
|
存储 Ubuntu Linux
如何安装和使用 Docker:入门指南
如何安装和使用 Docker:入门指南
23 1
|
4天前
|
Linux Docker 容器
在CentOS操作系统上使用yum安装/使用/卸载Docker容器引擎
在CentOS操作系统上安装、配置、使用和卸载Docker容器引擎的详细步骤,包括配置Docker镜像加速的方法。
22 0
|
4天前
|
Ubuntu Linux 测试技术
在Ubuntu 18.04上安装Docker Compose的方法
在Ubuntu 18.04上安装Docker Compose的方法
17 0
|
4天前
|
Ubuntu Linux 持续交付
在Ubuntu 16.04上安装Docker Compose的方法
在Ubuntu 16.04上安装Docker Compose的方法
7 0
|
8天前
|
Docker 容器
Docker cp 将宿主机上的文件复制到容器中
Docker cp 将宿主机上的文件复制到容器中
10 0
|
3天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
1天前
|
网络协议 Linux 网络安全
遇到Docker容器网络隔断?揭秘六种超级实用解决方案,轻松让Docker容器畅游互联网!
【8月更文挑战第18天】Docker容器内网络不通是开发者常遇问题,可能因网络配置错、Docker服务异常或防火墙阻碍等原因引起。本文提供六种解决策略:确认Docker服务运行状态、重启Docker服务、检查与自定义Docker网络设置、验证宿主机网络连接、临时禁用宿主机IPv6及检查防火墙规则。通过这些步骤,多数网络问题可得以解决,确保容器正常联网。
6 1
|
2天前
|
安全 Ubuntu Docker
深度挖掘Docker 容器
【8月更文挑战第16天】Docker容器间的连接是容器化技术的关键,支持容器与宿主机的数据交换。主要方法包括:1) 利用Docker网络驱动创建自定义网络,使容器相连通信;2) 采用Docker Compose通过配置文件简化多容器应用的部署与互联;3) 虽不推荐,早期使用--link参数实现容器互联;4) 通过环境变量配置连接信息;5) 共享卷支持文件共享和间接通信。推荐使用Docker网络和Docker Compose以实现高效灵活的容器间通信。
13 3
|
3天前
|
Ubuntu Linux Docker
使用Docker进行容器化:从零开始的技术博文
【8月更文挑战第16天】从零开始掌握Docker容器化技术:本文详细介绍Docker基本概念、安装配置流程及核心组件。涵盖Docker镜像与容器管理、镜像加速配置,以及如何利用Dockerfile自动化构建镜像,助您快速入门并高效运用Docker进行软件开发与部署。