美文网首页收藏
Elasticsearch-7.15.2 集群搭建

Elasticsearch-7.15.2 集群搭建

作者: 欠抽的泡面 | 来源:发表于2021-11-26 15:53 被阅读0次

    准备工作:

    1、准备3台服务器,确保互相之前能ping通
    172.30.12.215
    172.30.12.218
    172.30.13.201
    2、系统:centos7.4
    3、机器已经安装好jdk

    一、下载 es

    官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch

    image.png

    二、安装 es

    1、将es解压到 /opt目录下

    tar -zxvf elasticsearch-7.15.2-linux-x86_64.tar.gz -C /opt
    

    2、重命名(可忽略)

    mv elasticsearch-7.15.2 elasticsearch
    

    3、创建目录

    mkdir /opt/elasticsearch/data
    

    三、修改配置文件

    #集群名字,三台集群的集群名字都必须一致
    cluster.name: es
    #指定主节点  7.1版本后不配置会报错master not discovered yet
    cluster.initial_master_nodes: ["node-1"]
    #当前节点名字
    node.name: node-1
    #该节点是否有资格选举为master
    node.master: true
    #存储索引数据,三台都设为true即可
    node.data: true
    #数据位置
    path.data: /opt/elasticsearch/data
    #日志位置
    path.logs: /opt/elasticsearch/logs
    #锁住物理内存,不使用swap内存,有swap内存的可以开启此项
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    network.host: 0.0.0.0
    http.port: 9200
    transport.tcp.port: 9300
    #设置集群的初始节点列表,集群互通端口为9300
    discovery.zen.ping.unicast.hosts: ["172.30.13.201:9300","172.30.12.215:9300","172.30.12.218:9300"]
    #集群最小主节点数目
    discovery.zen.minimum_master_nodes: 2
    #发现超时时间
    discovery.zen.ping_timeout: 3s
    

    将配置好的es分发到其他两台服务器上:

    scp -r /opt/elasticsearch root@172.30.12.215:/opt/
    scp -r /opt/elasticsearch root@172.30.12.218:/opt/
    

    四、调优

    1、jvm调优

    vim /opt/elasticsearch/config/jvm.options
    
    -Xms1g   修改为 ===>  -Xms4g
    -Xmx1g   修改为 ===>  -Xmx4g
    

    设置为物理内存一半最佳,可根据服务器内存去选择调

    2、操作系统调优(必须配置,否则ES起不来)

    • 在/etc/sysctl.conf添加如下内容
    fs.file-max=655360
    vm.max_map_count=655360
    
    sysctl -p生效
    

    解释:
    (1)fs.file-max=655360
    系统最大打开文件描述符数
    (2)vm.max_map_count=655360
    限制一个进程拥有虚拟内存区域的大小
    不修改可能启动报错:

    max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
    
    • 编辑 /etc/security/limits.conf,追加以下内容;
    * soft nofile 65536
    * hard nofile 65536
    

    解释:nofile-最大打开文件描述符
    不修改可能启动报错:

    max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    

    此文件修改后需要重新登录用户,才会生效

    五、创建普通用户

    因为es不允许root用户启动

    groupadd es
    useradd es -g es -p es
    chown -R es:es /opt/elasticsearch
    su es
    

    六、启动

    三台服务上依次启动es

    /opt/elasticsearch/bin/elasticsearch
    

    浏览器访问:http://172.30.13.201:9200/_cat/nodes?v
    如果节点都启动成功,会显示:

    image.png

    七、设置最大分页数

    查看当前设置

    curl -XGET 127.0.0.1:9200/索引名/_settings
    

    返回

    {
        "scorpus": {
            "settings": {
                "index": {
                    "routing": {
                        "allocation": {
                            "include": {
                                "_tier_preference": "data_content"
                            }
                        }
                    },
                    "refresh_interval": "1s",
                    "number_of_shards": "5",
                    "provided_name": "scorpus",
                    "creation_date": "1655454636590",
                    "store": {
                        "type": "fs"
                    },
                    "number_of_replicas": "1",
                    "uuid": "7_0BCh28QxWUoiehWRb62w",
                    "version": {
                        "created": "7150299"
                    }
                }
            }
        }
    }
    

    这里没有 max_result_window配置,es采用的是默认的10000。使用以下命令修改

    curl -XPUT 127.0.0.1:9200/scorpus/_settings -H 'content-Type:application/json' -d '{"index.max_result_window":"1000000"}'
    

    修改成功后返回

    {"acknowledged":true}
    

    再次查看设置,就能看到设置的最大值

    {
        "scorpus": {
            "settings": {
                "index": {
                    "routing": {
                        "allocation": {
                            "include": {
                                "_tier_preference": "data_content"
                            }
                        }
                    },
                    "refresh_interval": "1s",
                    "number_of_shards": "5",
                    "provided_name": "scorpus",
                    "max_result_window": "1000000",
                    "creation_date": "1655454636590",
                    "store": {
                        "type": "fs"
                    },
                    "number_of_replicas": "1",
                    "uuid": "7_0BCh28QxWUoiehWRb62w",
                    "version": {
                        "created": "7150299"
                    }
                }
            }
        }
    }
    

    注意:
    1、此方法是设置单索引,如果需要更改索引需要将scorpus换成_all
    2、即使换成_all,对于新增的索引,还是默认的10000

    相关文章

      网友评论

        本文标题:Elasticsearch-7.15.2 集群搭建

        本文链接:https://www.haomeiwen.com/subject/cfvztrtx.html