使用Docker搭建Elasticsearch 6.6.1集群

一 、安装Docker

    docker的安装在docker官网有详细的介绍,基本上按照步骤来都很容易成功,我安装过很多次都没有失败过

官网链接: https://docs.docker.com/install/linux/docker-ce/centos/

 

二 、下载Elasticsearch 6.6.1版本Docker镜像

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

 

三 、通过Docker运行Elasticsearch

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.6.1

        这样,就十分方便的将elasticsearch服务运行起来了,在下载Elasticsearch镜像时稍微需要一些时间。

 

四 、通过Docker运行参数更好的部署Elasticsearch

       上面我们仅仅是通过简单的docker命令使elasticsearch服务跑了起来,但是当我们关闭docker容器时,容器中的数据不会被持久化保存到镜像或者本地,当我们下次再次启动时,就会发现这个问题。

        那么下面告诉大家几条实用的docker命令参数,让我们的Elasticsearch服务变得更加完善:

 

 

通过-d 参数,我们可以使elasticsearch服务在后台运行

通过-p 参数,我们可以指定对外的端口映射

通过-v 参数,我们可以将物理主机上的文件系统挂载到我们的docker容器指定目录上

docker run \
-p 9200:9200 -p 9300:9300 \
-v /data/elsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /data/elsearch/data:/var/lib/elasticsearch \
-v /data/elsearch/logs:/var/log/elasticsearch \
-d docker.elastic.co/elasticsearch/elasticsearch:6.6.1

 由此,通过以上这条命令,我们可以很好的让我们的elasticsearch服务跑起来。

 

五、集群 

       使用docker进行分布式集群部署elasticsearch的过程一般的elasticsearch服务部署类似,只要配置文件正确,没有特别需要注意的地方。这里可以参照我之前的文章。

       CentOS 7下简单搭建 Elasticsearch集群

       docker的单机多实例集群部署需要使用到docker-compose组件,docker-compose的安装请参照:

        Install Docker Compose

        安装完成后,创建工作文件夹,创建docker-compose.yml文件,添加一下配置:

version: '2.2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1
    container_name: elasticsearch
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - esnet
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1
    container_name: elasticsearch2
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.zen.ping.unicast.hosts=elasticsearch"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata2:/usr/share/elasticsearch/data
    networks:
      - esnet

volumes:
  esdata1:
    driver: local
  esdata2:
    driver: local

networks:
  esnet:

          开启服务:

docker-compose up

         查看集群状态:

curl http://127.0.0.1:9200/_cat/health
1472225929 15:38:49 docker-cluster green 2 2 4 2 0 0 0 0 - 100.0%

六、参考资料

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

https://docs.docker.com/compose/install/

https://docs.docker.com/engine/reference/run/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值