环境从es-6.8升级到es-7.12,很多原来在6上用的属性,在7中已过时,所以版本7的集群要设置些新属性。
通用的elasticsearch.yml的配置文件,其他的属性,还需要查看官网的API
#ES集群名称,同一个集群内的所有节点集群名称必须保持一致
cluster.name: myes
?
#ES集群内的节点名称,同一个集群内的节点名称要具备唯一性
?node.name: es-d211-cn1
?
#允许节点是否可以成为一个master节点,ES是默认集群中的第一台机器成为master,如果这台机器停止就会重新选举
node.master: true
?
#允许该节点存储索引数据(默认开启)
node.data: true
?
#数据存储路径(path可以指定多个存储位置,分散存储,有助于性能提升)
#目录还要对elasticsearch的运行用户有写入权限
path.data: /data1/es/es-d211-cn/data,/data2/es/es-d211-cn/data,/data3/es/es-d211-cn/data
path.logs: /data1/es/es-d211-cn/logs
?
#在ES运行起来后锁定ES所能使用的堆内存大小,锁定内存大小一般为可用内存的一半左右;锁定内存后就不会使用交换分区
#如果不打开此项,当系统物理内存空间不足,ES将使用交换分区,ES如果使用交换分区,那么ES的性能将会变得很差
bootstrap.memory_lock: true
?
#es绑定地址,支持IPv4及IPv6,默认绑定127.0.0.1;es的HTTP端口和集群通信端口就会监听在此地址上
network.host: 10.200.201.211
?
#是否启用tcp无延迟,true为启用tcp不延迟,默认为false启用tcp延迟
network.tcp.no_delay: true
#是否启用TCP保持活动状态,默认为true
network.tcp.keep_alive: true
#是否应该重复使用地址。默认true,在Windows机器上默认为false
network.tcp.reuse_address: true
#tcp发送缓冲区大小,默认不设置
network.tcp.send_buffer_size: 128mb
#tcp接收缓冲区大小,默认不设置
network.tcp.receive_buffer_size: 128mb
?
#设置集群节点通信的TCP端口,默认是9300
transport.tcp.port: 9301
#设置是否压缩TCP传输时的数据,默认为false
transport.tcp.compress: true
#设置http请求内容的最大容量,默认是100mb
http.max_content_length: 200mb
?
#是否开启跨域访问
http.cors.enabled: true
#开启跨域访问后的地址限制,*表示无限制
http.cors.allow-origin: "*"
#定义ES对外调用的http端口,默认是9200
http.port: 9201
?
#Elasticsearch7.x新增参数,写入候选主节点的设备地址,来开启服务时就可以被选为主节点,由discovery.zen.ping.unicast.hosts:参数改变而来,用的端口为tcp.http端口,而非http.port
discovery.seed_hosts: ["192.168.3.21:9301", "192.168.3.22:9301","192.168.3.23?:9301"]
#Elasticsearch7新增参数,写入候选主节点的设备地址,来开启服务时就可以被选为主节点
cluster.initial_master_nodes: ["192.168.3.21?:9301", "192.168.3.22:9301","192.168.3.23:9301"]
?
#Elasticsearch7新增参数,设置每个节点在选中的主节点的检查之间等待的时间。默认为1秒
cluster.fault_detection.leader_check.interval: 2s
#Elasticsearch7新增参数,启动后30秒内,如果集群未形成,那么将会记录一条警告信息,警告信息未master not fount开始,默认为10秒
discovery.cluster_formation_warning_timeout: 30s
#Elasticsearch7新增参数,节点发送请求加入集群后,在认为请求失败后,再次发送请求的等待时间,默认为60秒
cluster.join.timeout: 30s
#Elasticsearch7新增参数,设置主节点等待每个集群状态完全更新后发布到所有节点的时间,默认为30秒
cluster.publish.timeout: 90s
机器列表
192.168.154.111 | 192.168.154.112 | 192.168.154.113 | 192.168.154.114 | 192.168.154.115 | 192.168.154.116 | 192.168.154.117 | 192.168.154.118 |
1.在文件/etc/hosts中增加所有主机的映射配置 es的参数还是要提前设置下的,最好主机上设置互信,这样,自动化脚本跑起来也方便些
? ? ? ? ip? ? hostname
2.sysctl
在文件/etc/sysctl.conf中增加如下配置:
vm.max_map_count = 655360
执行以下命令使配置立即生效:
sysctl -p
3. ulimit
在文件/etc/security/limits.conf中增加如下配置:
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft memlock unlimited
* hard memlock unlimited
我的ES节点规划
es的端口说明 | httpport | tcpPort | 角色 | master | client | data01-data04 | master | client | data01-data04 | 192.168.154.111 | 9200 | | 9201-9204 | 9300 | | 9301-9304 | 192.168.154.112 | 9200 | | 9201-9204 | 9300 | | 9301-9304 | 192.168.154.113 | 9200 | | 9201-9204 | 9300 | | 9301-9304 | 192.168.154.114 | | 9210 | 9201-9204 | | 9310 | 9301-9304 | 192.168.154.115 | | 9210 | 9201-9204 | | 9310 | 9301-9304 | 192.168.154.116 | | 9210 | 9201-9204 | | 9310 | 9301-9304 | 192.168.154.117 | | | 9201-9204 | | | 9301-9304 | 192.168.154.118 | | | 9201-9204 | | | 9301-9304 |
需要注意的是,7版本的启动,会用到ES_JAVA_HOME,如果启动报出要设置ES_JAVA_HOME的情况,还可以下自带zk的es版本。更改bin/elasticsearch的脚本即可。
?
?启动之后,集群ok,正常可用
?
|