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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
3天前
|
NoSQL Redis Docker
使用docker安装redis
该文档介绍了如何使用Docker快速搭建Redis数据库,以便于Spring Boot学习。主要内容包括获取Redis镜像、创建容器、配置持久化存储目录和修改默认配置文件,以及检查和访问Redis容器服务。此外,还提到若需外部访问,需开启宿主机防火墙相应端口。注意,本教程不深入讲解Docker,若想深入学习Docker,建议另寻专门课程。
|
3天前
|
Linux Docker 容器
centos7安装docker图文详解
该文档提供了在CentOS上安装Docker的步骤:检查系统内核版本(需大于3.10),更新yum,卸载旧版Docker,安装yum-utils和依赖包,设置Docker仓库,列出并选择Docker版本,安装Docker,最后启动并设置Docker开机启动,通过`docker version`验证安装是否成功。
|
3天前
|
NoSQL 网络协议 MongoDB
docker安装mongodb(单点)图文详解
该文档提供了一个快速搭建MongoDB环境的指南,适用于开发和学习,但不适用于生产。主要步骤包括:1) 使用Docker创建数据卷`mongo_data_db`和`mongo_data_configdb`。2) 拉取`mongo`镜像并运行名为`mymongo`的容器,映射端口并挂载数据卷。3) 初始化管理员账号,创建具有`root`权限的用户`admin`,密码为`adminpwd`。4) 防火墙开放端口27017。最后,提到了使用第三方客户端进行连接。
|
4天前
|
Shell 数据安全/隐私保护 Docker
如何使用Docker安装FTP服务器?
【4月更文挑战第25天】
8 0
如何使用Docker安装FTP服务器?
|
4天前
|
数据安全/隐私保护 Docker Sentinel
docker安装Sentinel
docker安装Sentinel
|
4天前
|
存储 关系型数据库 MySQL
docker安装mysql8忽略大小写
docker安装mysql8忽略大小写
|
4天前
|
关系型数据库 MySQL 开发工具
Docker安装mysql8.0
Docker安装mysql8.0
|
4天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
21 2
|
6天前
|
存储 Kubernetes Linux
K8S必备知识--docker的介绍以及安装
K8S必备知识--docker的介绍以及安装
|
7天前
|
存储 Linux 持续交付
【docker】CentOS 7上安装Docker的详细过程
【docker】CentOS 7上安装Docker的详细过程