跟着极客时间学习Elasticsearch-Docker容器运行Elasticsearch Kibana以及Cerebro

Posted 一仨伍柒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟着极客时间学习Elasticsearch-Docker容器运行Elasticsearch Kibana以及Cerebro相关的知识,希望对你有一定的参考价值。

0 开始前

进度依然缓慢, 这一次的时间间隔比之前还要长,平时上班忙着工作,下班忙着运动,似乎没有时间写,有时候想着应该有整片的时间写就好。可是周末也没有见自己写什么东西,所以终归是借口。

1 开始安装 Docker

要在 Docker 容器中运行 Elasticsearch、Kibana等软件,前置条件是需要安装 Docker 与 Docker Compose。Docker 安装可以进入 Docker官网,并进入网址 安装 Docker Compose。与前面两篇文章一样,我这个安装依然是安在 Mac 电脑上,安装 Mac 电脑非常简单, Docker 只要解压缩安装就行,并且自带 Docker Compose,可以通过命令 docker-compose version 测试一下。

由于微信本身不支持 MarkDown 的链接, 我将 Docker 官网以及安装 Docker Compose 的链接贴一下

另外,由于看这篇文章的你可能不是 Mac 环境,是 Linux 环境,可以参考以下三篇文章

  1. Docker 安装教程:https://www.xttblog.com/?p=4402

  2. Docker Compose 安装教程:https://www.xttblog.com/?p=4402

  3. Docker 安装 Elasticsearch 教程:https://www.xttblog.com/?p=4408 ,这篇文章贴早了,可以先看着。

2 Docker 常用命令

安装完 Docker,接下来本应该是安装 Elasticsearch 等软件,但是我想想还是将 Docker 一些常用命令贴出来,方便后面查阅。

  1. 查看镜像可以用命令 docker imagesdocker image ls -a

  2. 删除一个镜像可以使用命令 docker rmi imageId

  3. 查看 docker 启动了哪些容器, 可以使用命令 docker ps -a

  4. 启动指定容器使用命令 docker start Name/ContainerId

  5. 停止指定容器使用命令 docker stop Name/ContainerId

  6. 杀死容器使用命令 docker kill Name/ContainerId

  7. 重启容器使用命令 docker restart Name/ContainerId

  8. 删除所有容器使用  docker rm 'docker ps -a -q'

3 利用容器运行 Elasticsearch 等软件

我们本来就是跟着极客时间进行学习,所以进入网站 https://sourl.cn/h9T4Gb 下载或者拷贝其 docker-compose.yaml 文件到自己的电脑中,然后根据自己的实际情况可以稍微更改一下其配置,我主要修改的内容是各个软件的版本号,下面我贴出自己修改过后的文件内容。

version: '2.2'
services:
cerebro:
  image: lmenezes/cerebro:0.9.0
  container_name: cerebro
  ports:
    - "9000:9000"
  command:
    - -Dhosts.0.host=http://elasticsearch:9200
  networks:
    - es7net
kibana:
  image: docker.elastic.co/kibana/kibana:7.6.2
  container_name: kibana7
  environment:
    - I18N_LOCALE=zh-CN
    - XPACK_GRAPH_ENABLED=true
    - TIMELION_ENABLED=true
    - XPACK_MONITORING_COLLECTION_ENABLED="true"
  ports:
    - "5601:5601"
  networks:
    - es7net
elasticsearch:
  image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
  container_name: es7_01
  environment:
    - cluster.name=geektime
    - node.name=es7_01
    - bootstrap.memory_lock=true
    - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    - discovery.seed_hosts=es7_01,es7_02
    - cluster.initial_master_nodes=es7_01,es7_02
  ulimits:
    memlock:
      soft: -1
      hard: -1
  volumes:
    - es7data1:/usr/share/elasticsearch/data
  ports:
    - 9200:9200
  networks:
    - es7net
elasticsearch2:
  image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
  container_name: es7_02
  environment:
    - cluster.name=geektime
    - node.name=es7_02
    - bootstrap.memory_lock=true
    - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    - discovery.seed_hosts=es7_01,es7_02
    - cluster.initial_master_nodes=es7_01,es7_02
  ulimits:
    memlock:
      soft: -1
      hard: -1
  volumes:
    - es7data2:/usr/share/elasticsearch/data
  networks:
    - es7net


volumes:
es7data1:
  driver: local
es7data2:
  driver: local

networks:
es7net:
  driver: bridge

改好并保存,文件命名为 docker-compose.yaml,进入该文件所在的目录运行命令 docker-compose up。运行该命令后,首先会下载相关的软件(如果已经下载好,就不会再下载),然后启动相关的应用程序,如 Elasticsearch、Kibana 以及 cerebro。

我在下载的时候,遇到一个问题,就是下载相关软件是非常的慢,不知道是自己家里网络不好,还是官方镜像的问题,等有时间我要尝试着修改一下镜像的路径,再看看情况。

等所有软件都启动完成之后, 可以进入各个软件进行查看一下效果,如果想停止容器,可以使用命令 docker-compose downdocker-compose down -v

看效果的方式

  1. 查看 Kibana 效果进入网址 http://localhost:5601

  2. 查看 cerebro 效果进入网址 http://localhost:9000

Docker 命令总结

  1. 启动使用命令 docker-compose up

  2. 停止使用命令 docker-compose down

  3. 停止并删除数据使用命令 docker-compose down -v

4 最后

对于 Docker 与 Elasticsearch 等知识,都是初学,难免有所错误,欢迎指出。



以上是关于跟着极客时间学习Elasticsearch-Docker容器运行Elasticsearch Kibana以及Cerebro的主要内容,如果未能解决你的问题,请参考以下文章

asm 极客时间学习

极客时间的专栏

极客大挑战2019PHP题目详解

Syclover 第十次极客大挑战web题题解

# "做中学"之“极客时间”课程学习指导

极客时间 机器学习完整版 王天一