赞
踩
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
我们计划利用3个docker容器模拟3个es的节点。
上次没看完的文档,还剩最后一部分
我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。
部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有4G的内存空间
【创建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 和kibana 停掉
OK
直接放在root 文件夹下
es运行需要修改一些linux系统权限,修改/etc/sysctl.conf
文件
vi /etc/sysctl.conf
添加下面的内容:
vm.max_map_count=262144
然后执行命令,让配置生效:
sysctl -p
虽然笔者也不知道其他是什么
通过docker-compose启动集群:
docker-compose up -d
妙啊
看看运行情况
OK,三个都跑起来 了
开三个新窗口,监控一下每个节点的日志
OK,对三个都进行一个监控
【集群状态监控】
kibana可以监控es集群,不过新版本需要依赖es的x-pack 功能,配置比较复杂。
这里推荐使用cerebro来监控es集群状态,官方网址:https://github.com/lmenezes/cerebro
课前资料已经提供了安装包:
妙啊
复制到我们自己的软件目录,直接解压
进入bin 目录
直接双击这个bat 文件
OK,这样就启动成功了,访问9000 端口
先连接一下9200 节点
可以看到它报错了,访问超时
我查,【还是连不上】
端口也开了,笔者重启了一下服务器,重新运行了compose
我真的会栓Q,终于进来了
绿色的条,代表集群处于绿色(健康状态)。可以看到es01 的星星是实心的,说明它是当前集群的主节点
【创建索引库】
利用kibana的DevTools创建索引库
在DevTools中输入指令:
PUT /itcast
{
"settings": {
"number_of_shards": 3, // 分片数量
"number_of_replicas": 1 // 副本数量
},
"mappings": {
"properties": {
// mapping映射定义 ...
}
}
}
当然现在我们的kibana 已经停掉了,可以直接利用cerebro 创建索引库
点击
直接右下角创建
回到主页
妙啊【实心的正方形就是主分片,虚线框的就是副本分片】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。