收藏

Elasticsearch-7.15.2 集群搭建

2021-11-26  本文已影响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起不来)

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]
* 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

上一篇下一篇

猜你喜欢

热点阅读