学习 elasticsearch 的第一天

183 阅读2分钟

这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战

今天是第5天,Flink 已经失败了2次,外加今天加班太晚,先以退为进学习用上的概率更大的elasticsearch,技术本就是持之以恒,大数据还会接着学下去的!!!

Docker 安装 elasticsearch 官网教程:www.elastic.co/guide/en/el…

启动单节点elasticsearch

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

Docker Compose启动多节点集群

要在 Docker 中启动并运行一个三节点 Elasticsearch 集群,您可以使用 Docker Compose:

  1. 创建一个docker-compose.yml文件:
version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic

volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge

此示例 Docker Compose 文件启动了一个三节点 Elasticsearch 集群。节点es01上iP端口为localhost:9200,并且es02es03的配置与es01都很类似。

该 [Docker named volumes](docs.docker.com/storage/vol…) data01data02以及data03节点数据目录存储如此跨重启的数据依然存在。如果它们尚不存在,请docker-compose在启动集群时创建它们。

确保为 Docker Engine 分配了至少 4GB 的内存。在 Docker Desktop 中,您可以在首选项 (macOS) 或设置 (Windows) 的高级选项卡上配置资源使用情况。

linux 本身不带 Compose 在 Linux 上安装 Compose

运行docker-compose以启动集群:

docker-compose up

提交_cat/nodes请求以查看节点是否已启动并正在运行:

curl -X GET "localhost:9200/_cat/nodes?v&pretty"

日志消息进入控制台并由配置的 Docker 日志驱动程序处理。默认情况下,您可以使用docker logs.

要停止集群,请运行docker-compose down。当您使用docker-compose up. 要关闭集群时删除数据卷,请指定-v选项:docker-compose down -v