基于Docker部署ElasticSearch

基于Docker部署单节点ElasticSearch

  1. 拉取镜像
docker pull elasticsearch:7.17.2
  1. 运行容器
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type.type=single-node" elasticsearch:7.4.2
docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 -p 5601:5601 elasticsearch
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

参数释义:
-d:守护线程启动(后台启动)
//映射配置文件
-v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-e:分配初始内存 -e ES_JAVA_OPTS=“-Xms256m -Xmx256m”

  1. 进入容器
    docker exec -it es /bin/bash
  2. 跨域配置
    4.1 修改配置文件
    vi elasticsearch.yml
    4.2 加入跨域配置
    http.cors.enabled: true

基于Docker部署分布式ElasticSearch

利用 Docker 提供的 compose 工具帮我们定制好启动的服务内容。
一共有三个步骤:

  1. 在桌面或者任何地方新建一个文件夹 命名为 elasticsearch-cluster
  2. 新建一个文件命名为docker-compose.yml
  3. 把下面提供的代码粘贴复制进去,在当前目录下打开控制台输入 docker-compose up
docker-compose.yml
version: '3'
services:
  cerebro:  // cerebro 用来监控 ES 健康状态的
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - es7net
  kibana: //  ElasticSearch 的可视化图像界面
    image: docker.elastic.co/kibana/kibana:7.4.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.4.2
    container_name: es7_01
    environment:
      - cluster.name=eslearn
      - 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:/Users/chiyue/docker/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es7net
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es7_02
    environment:
      - cluster.name=eslearn
      - 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:/Users/chiyue/docker/elasticsearch/data
    networks:
      - es7net
volumes:
  es7data1:
    driver: local
  es7data2:
    driver: local

networks:
  es7net:
    driver: bridge

启动命令:docker docker-compose up

Kibana

在浏览器输入 http://localhost:5601/,进入 Kibana 中文界面。

cerebr

脚本安装了一个叫 cerebro 的工具,能够监视 ES 状态。在浏览器输入:http://localhost:9000/。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值