> 文章列表 > 搭建es集群

搭建es集群

搭建es集群

单点es的缺点:1.存储数据有限;2.单点故障问题(es出现故障则整个服务会直接宕机)

解决存储数据有限:搭建多台es服务器实现集群

解决单点故障:在不同的es服务器中进行备份数据(例:在第二台服务器中备份第一台的数据)

搭建es集群:

1.编写docker-compose.yml文件并上传到linux中/root

version: '2.2'
services:es01:image: elasticsearch:7.12.1container_name: es01environment:- 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/dataports:- 9200:9200networks:- elastices02:image: elasticsearch:7.12.1container_name: es02environment:- 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/dataports:- 9201:9200networks:- elastices03:image: elasticsearch:7.12.1container_name: es03environment:- 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/datanetworks:- elasticports:- 9202:9200
volumes:data01:driver: localdata02:driver: localdata03:driver: localnetworks:elastic:driver: bridge

修改/etc/sysctl.conf文件

vi /etc/sysctl.conf

在文件中添加

vm.max_map_count=262144

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

sysctl -p

通过docker-compose启动集群

docker-compose up -d

集群状态监控(cerebro)

下载cerebro

官网:GitHub - lmenezes/cerebro

下载后解压即可

进入bin后双击cerebro.bat即可运行

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

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

创建索引库并进行分片和备份

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

集群脑裂问题

 注:索引库一旦创建,分片数量不可在改变,否则可能产生查询不到数据的问题