ElasticSearch 集群搭建与状态监控cerebro

单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。为了解决存储能力上上限问题就可以用到集群部署。

  • 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点
  • 单点故障问题:将分片数据在不同节点备份 (replica ) 

 

目录

一、部署es集群

二、集群搭建案例:利用3个docker容器模拟3个es的节点

2.1 首先编写一个docker-compost文件,代码如下

2.2 es运行需要修改一些lintx系统权限

 2.3 集群状态监控(cerebro)

  2.4 创建索引库


 

一、部署es集群

在单机上利用docker容器运行多个es实例来模拟es集群。在生产环境中推荐每一台服务节点仅部署一个es的实例。
部署es集群可以直接使用docker-compose来完成,但要求Linux虚拟机至少有4GI的内存空间。 

二、集群搭建案例:利用3个docker容器模拟3个es的节点

 

2.1 首先编写一个docker-compost文件,代码如下
version:"2.2
services:
    es01:
        image: elasticsearch:7.12.1
        container_name: es01
        environment:
            - node .name=ego1
            -cluster.name=es-docker-cluster
            -discovery.seed_hosts=es02,es3
            -cluster.initial_master_nodes=es1es02 ,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
        ports:
            9202:9200
        networks:
            -elastic
2.2 es运行需要修改一些lintx系统权限

(1) 修改 /etc/sysctl.conf  文件

vi   /etc/sysctl.conf 

(2) 添加下面的内容

 vm.max_map_count=262144

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

 sysctl -p

(4) 通过docker-compose启动集群 

docker-compose up -d 

 2.3 集群状态监控(cerebro)

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

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

 

启动 cerebro 服务

 访问登录cerebro

 集群状态

  2.4 创建索引库

第一种方式:利用kibana的DevTools创建索引库 ,在DevTools中输入指令

PuT   /itcast

{

        "settings" : {
                "number_of_shards": 3,// 分片款量

                "number_of_replicas": 1 // 副本数

        },

        "mappings" : {

                "properties":{

                        //mapping晚射定义 

                }    

        }

}

第二种方式:利用cerebro创建索引库

填写索引库信息

 

相关推荐

  1. Elasticsearch健康检查监控

    2024-01-05 14:56:02       28 阅读
  2. ElasticSearch高可用

    2024-01-05 14:56:02       48 阅读
  3. Elasticsearch7.10

    2024-01-05 14:56:02       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-05 14:56:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-05 14:56:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-05 14:56:02       82 阅读
  4. Python语言-面向对象

    2024-01-05 14:56:02       91 阅读

热门阅读

  1. Python之python-socketio

    2024-01-05 14:56:02       63 阅读
  2. 一些k8s的小的报错记录

    2024-01-05 14:56:02       61 阅读
  3. Github数据库集群的升级部署思路

    2024-01-05 14:56:02       58 阅读
  4. [scala] 列表常见用法

    2024-01-05 14:56:02       55 阅读
  5. 【Linux】流量劫持网络安全应急响应

    2024-01-05 14:56:02       58 阅读
  6. uniapp子组件向父组件传值

    2024-01-05 14:56:02       63 阅读
  7. 多汗症对患者的生活有哪些影响?

    2024-01-05 14:56:02       68 阅读
  8. 整理composer安装版本的python脚本

    2024-01-05 14:56:02       52 阅读
  9. LeetCode 33 搜索旋转排序数组

    2024-01-05 14:56:02       67 阅读