elasticsearch基于docker搭建集群
我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有的内存空间。
·
部署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)]](https://i-blog.csdnimg.cn/blog_migrate/99b57fd834a133befa60623d84cd330c.png)
解压即可使用,非常方便。
解压好的目录如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eqqNH2c2-1679565216427)(assets/image-20210602220824668.png)]](https://i-blog.csdnimg.cn/blog_migrate/65837e22868f1f0679d8fcecb3ae5a92.png)
进入对应的bin目录:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pfizNwAF-1679565216429)(assets/image-20210602220846137.png)]](https://i-blog.csdnimg.cn/blog_migrate/9d3e5fc4bf46b093c77f6a52da33e53c.png)
双击其中的cerebro.bat文件即可启动服务。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3kXDz3v-1679565216431)(assets/image-20210602221115763.png)]](https://i-blog.csdnimg.cn/blog_migrate/ee9592cff898e18f4e9e5855efbf7a4f.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)]](https://i-blog.csdnimg.cn/blog_migrate/b8be6109acd2a87eea78f46b2935e5f2.png)
填写索引库信息:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPbGZ9PH-1679565216437)(assets/image-20210602221520629.png)]](https://i-blog.csdnimg.cn/blog_migrate/52c2c40c51719ed542428777e656c455.png)
点击右下角的create按钮:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NEX6JXvK-1679565216438)(assets/image-20210602221542745.png)]](https://i-blog.csdnimg.cn/blog_migrate/7819c65428f072ecea794f838f748b75.png)
4.4.查看分片效果
回到首页,即可查看索引库分片效果:

更多推荐



所有评论(0)