部署ES集群

首先,ES集群的运行需要大量内存映射,所有我们需要修改linux的配置

修改/etc/sysctl.conf文件

vi /etc/sysctl.conf

添加内容,该配置能修改linux对单个进程内存映射的限制

vm.max_map_count=262144

sysctl -p 为从指定的文件加载系统参数,不指定的话默认为/etc/sysctl.conf文件

sysctl -p

我们此处利用docker-compose开启三个ES容器来模拟多台机器,以下为文件信息

version: '2.2'
services:
  es01:
    image: elasticsearch:7.12.1
    container_name: es01 #容器名称
    environment:
      - node.name=es01 #结点名称
      - cluster.name=es-docker-cluster #集群名称,ES会自动将集群名称一样的结点做为一个集群处理
      - discovery.seed_hosts=es02,es03 #集群中其他结点的IP地址
      - cluster.initial_master_nodes=es01,es02,es03 #初始化主节点,此处将三个结点都设为了候选的主节点
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #如果服务器配置吃紧,就设置一下内存大小
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic #不想用默认网络名,就设置一下集群网络名
  es02:
    image: elasticsearch:7.12.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data02:/usr/share/elasticsearch/data
    ports:
      - 9201:9200
    networks:
      - elastic
  es03:
    image: elasticsearch:7.12.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic
    ports:
      - 9202:9200
volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge

启动

docker-compose up -d

对于ES集群的管理,我们不再使用kibana,转而使用cerebro,双击/bin/cerebro.bat文件启动,访问启动的网站,在网站输入我们ES集群的任意一个结点地址就可以管理

ES集群中,结点有四种类型:

master eligible:备选主节点。主节点用于处理索引库创建,删除等操作(主节点会自动从备选主节点选取)

data:数据结点。存储数据、搜索、聚合还有数据的CRUD等操作都是由它处理的

ingest:在数据被存储前,该结点负责对数据进行过滤处理

coordinating:用于路由,来分配每次请求给哪个结点处理,合并多个结点的处理结果

默认情况下,如果不设置,结点会充当所有四种类型

注意:因为脑裂问题的存在,主节点需要选票数超过(总结点数量+1)/2才能当选,所以我们建议备选主节点个数为奇数

posted @ 2024-03-25 18:34  凌碎瞳缘  阅读(22)  评论(0编辑  收藏  举报