Docker 安装 Elasticsearch 教程

JAVA herman 1301浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

一定要构建自己的知识体系,找到自己的学习方法。就一个简单的安装,都会有人卡壳。

这篇文章我在介绍一下,如何在 Docker 中安装 Elasticsearch!

前提是你的 Docker 和 Docker-Compose 都已经安装成功了,当然,这里还暂时用不到 Docker-Compose。

目前讲师用的 Elasticsearch 是 7.2 的版本。这个版本,我们也可以在 Docker-hub 中搜索到。

docker search Elasticsearch
docker search Elasticsearch

好几个,不知道咋选择。不怕,我教你,保持和讲师的版本一致就可以。

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.2.0

这些这个命令,安装 Elasticsearch 7.2 的版本。

注意,不要看网上的一些教程,从 github 下,慢的很,基本上无法成功。

按照我的命令安装完成后,执行 docker images。

docker images
docker images

或者执行 docker image ls 是一样的效果。

docker image ls

可以看到我上面有两个镜像文件。我们先运行 hello-world。

docker container run hello-world

为了保证和老师的效果一致,你可以先新建一个 xttblog 文件夹。然后在这个文件夹中,新建一个 docker-compose.yml 文件。内容和老师的一致。

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

要注意的是,老师上在本地运行的。我是在云服务器上运行的,因此,我这里没有 networks 配置项。

然后执行下面的命令,你就可以玩转你的第一个 Docker + Elasticsearch 了。

#启动
docker-compose up

#停止容器
docker-compose down

#停止容器并且移除数据
docker-compose down -v

#一些docker 命令
docker ps
docker stop Name/ContainerId
docker start Name/ContainerId

#删除单个容器
$docker rm Name/ID
-f, –force=false; -l, –link=false Remove the specified link and not the underlying container; -v, –volumes=false Remove the volumes associated to the container

#删除所有容器
$docker rm `docker ps -a -q`  
停止、启动、杀死、重启一个容器
$docker stop Name/ID  
$docker start Name/ID  
$docker kill Name/ID  
$docker restart name/ID

要注意的是,如果你看到这个提示:“max virtual memory areas vm.max_map_count [65530] is too low, increase to at least”。那说明你设置的 max_map_count 小了,编辑 /etc/sysctl.conf,追加以下内容:vm.max_map_count=262144保存后,执行:sysctl -p重新启动。

如果看到,ERROR: [1] bootstrap checks failed,就说明启动失败了。检查一下启动日志。加大内存,看看那里出错了,定位问题。

以上,希望能够对正在学习 Elasticsearch 和 Docker 的同学有帮助。如果你还有问题,可以加我微信:xttblog,一起精进!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » Docker 安装 Elasticsearch 教程