elasticsearch基于docker搭建集群

部署es集群

我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。

部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有4G的内存空间

1.创建es集群

首先编写一个docker-compose文件,内容如下:

version: '2.2'
services:
  es01:
    image: elasticsearch:7.12.1
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - 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

es运行需要修改一些linux系统权限,修改/etc/sysctl.conf文件

vi /etc/sysctl.conf

添加下面的内容:

vm.max_map_count=262144

然后执行命令,让配置生效:

sysctl -p

通过docker-compose启动集群:

docker-compose up -d

4.2.集群状态监控

kibana可以监控es集群,不过新版本需要依赖es的x-pack 功能,配置比较复杂。

这里推荐使用cerebro来监控es集群状态,官方网址:https://github.com/lmenezes/cerebro

资料已经提供了安装包:点击获取资料

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v4rTn7BM-1679565216425)(assets/image-20210602220751081.png)]

解压即可使用,非常方便。

解压好的目录如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eqqNH2c2-1679565216427)(assets/image-20210602220824668.png)]

进入对应的bin目录:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pfizNwAF-1679565216429)(assets/image-20210602220846137.png)]

双击其中的cerebro.bat文件即可启动服务。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3kXDz3v-1679565216431)(assets/image-20210602221115763.png)]

访问http://localhost:9000 即可进入管理界面:

在这里插入图片描述

输入你的elasticsearch的任意节点的地址和端口,点击connect即可:

在这里插入图片描述

绿色的条,代表集群处于绿色(健康状态)。

4.3.创建索引库

1)利用kibana的DevTools创建索引库

在DevTools中输入指令:

PUT /itcast
{
  "settings": {
    "number_of_shards": 3, // 分片数量
    "number_of_replicas": 1 // 副本数量
  },
  "mappings": {
    "properties": {
      // mapping映射定义 ...
    }
  }
}

2)利用cerebro创建索引库

利用cerebro还可以创建索引库:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ev45YS86-1679565216433)(assets/image-20210602221409524.png)]

填写索引库信息:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPbGZ9PH-1679565216437)(assets/image-20210602221520629.png)]

点击右下角的create按钮:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NEX6JXvK-1679565216438)(assets/image-20210602221542745.png)]

4.4.查看分片效果

回到首页,即可查看索引库分片效果:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值