基于docker安装ElasticSearch集群(单机两节点)

本文介绍了如何在单机环境中使用Docker安装ElasticSearch集群,包括安装前的JDK配置,调整vm.max_map_count内核参数以及确保足够的内存。通过创建Elasticsearch容器并启动,最后验证集群状态。
摘要由CSDN通过智能技术生成

一、安装前准备

1、ElasticSearch是基于java的

需要安装jdk环境,我这里由于是使用最新版的7.4.0,需要支持LTS,jdk9以上才支持,所以这里我使用openjdk,使用docker直接拉取:

 

docker pull openjdk:9

ps:也可以尝试使用openjdk11---docker pull openjdk:11

2、vm.max_map_count内核设置需要至少设置为262144用于生产

 

#查看vm.max_map_count命令
grep vm.max_map_count /etc/sysctl.conf

可在 /etc/sysctl.conf中加入

 

vm.max_map_count=262144

让设置实时生效:

 

sysctl -w vm.max_map_count=262144

3、虚拟机的运行内存:2G以上(因为是集群)

二、安装

/usr/local/docker/elasticsearch下创建docker-compose.yml内容如下

 

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0
    container_name: es01
    environment:
      - node.name=es01
      - discovery.seed_hosts=es02
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - esnet
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0
    container_name: es02
    environment:
      - node.name=es02
      - discovery.seed_hosts=es01
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata02:/usr/share/elasticsearch/data
    networks:
      - esnet

volumes:
  esdata01:
    driver: local
  esdata02:
    driver: local

networks:
  esnet:

执行docker-compose up
检查集群状态:curl http://127.0.0.1:9200/_cat/health

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值