CentOS7 单机模拟搭建ElasticSearch集群 及 常见配置优化

单实例安装请看CentOS7 ElasticSearch与ElasticSearch-head的安装部署

直接上配置吧,后面总结一下踩了什么坑 

端口设置

节点http.porttransport.tcp.port
master9200默认9300
slave192109310
slave292209320

一,master配置

http.cors.enabled: true
http.cors.allow-origin: "*"

cluster.name: my-es
node.name: master
node.master: true
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.1.14:9200","192.168.1.14:9210","192.168.1.14:9310","192.168.1.14:9220","192.168.1.14:9320"]
node.max_local_storage_nodes: 3

二,salve配置

slave1

cluster.name: my-es
node.name: salve1
node.master: false
network.host: 127.0.0.1
http.port: 9210
discovery.zen.ping.unicast.hosts: ["192.168.1.14:9200","192.168.1.14:9300","192.168.1.14:9210","192.168.1.14:9310","192.168.1.14:9220","192.168.1.14:9320"]
node.max_local_storage_nodes: 3

transport.host: 0.0.0.0
transport.tcp.port: 9310

#设置索引数据的存储路径
path.data: /usr/local/elasticsearch/data
#设置日志的存储路径
path.logs: /usr/local/elasticsearch/logs

 slave2

cluster.name: my-es
node.name: salve2
node.master: false
network.host: 127.0.0.1
http.port: 9220
discovery.zen.ping.unicast.hosts: ["192.168.1.14:9200","192.168.1.14:9300","192.168.1.14:9210","192.168.1.14:9310","192.168.1.14:9220","192.168.1.14:9320"]
node.max_local_storage_nodes: 3

transport.host: 0.0.0.0
transport.tcp.port: 9320

#设置索引数据的存储路径
path.data: /usr/local/elasticsearch/data
#设置日志的存储路径
path.logs: /usr/local/elasticsearch/logs

 三,成功

边框加粗的为主分片

四,避坑

Es默认对外服务的http端口是9200,节点之间的交互端口默认是9300,所以不配置transport.tcp.port,启动slave会发现总是报错地址占用,就是9300端口发生了冲突,所以slave起不来。

matse的9300端口与上图的es集群实例pid都有关联。

 

五,常见配置,以及配置优化可选项(标★的)

##集群名称,每个节点配置成一样的名称才能形成正确的集群
cluster.name: my-es
##节点名称,每个节点配置不同名称
node.name: nodename
##★是否主节点
node.master: true       
##★是否数据节点        
node.data: true       
##单机最大节点数 如本例一个master两个slave就是3         
node.max_local_storage_nodes: 3
##索引数据的存储路径
path.data: /usr/local/elasticsearch/data
##日志文件的存储路径
path.logs: /usr/local/elasticsearch/logs
##★启动时锁定内存,设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
##绑定的ip地址
network.host: 127.0.0.1
##设置对外服务的http端口,默认为9200
http.port: 9200
## 设置节点间交互的tcp端口,默认是9300 
transport.tcp.port: 9300
transport.tcp.compress: true
## 设置集群中节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["192.168.1.14:9200","192.168.1.14:9300","192.168.1.14:9210","192.168.1.14:9310","192.168.1.14:9220","192.168.1.14:9320"]
##★防止脑裂现象,如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 这将导致数据丢失
discovery.zen.minimum_master_nodes: 2
#action.destructive_requires_name: true
##★防止同一个shard的主副本存在同一个物理机上
cluster.routing.allocation.same_shard.host:true
##★数据节点http功能关闭(数据节点)
http.enable: false
##★刷新间隔 默认一秒一次,和数据准时性相关
index.refresh_interval: 30s
##★节点间的存活检测间隔,默认一秒一次,节点数据量大发生GC可能stop the word会稍长导致无法ping通,导致集群重新分片,影响性能
discovery.zen.fd.ping_interval: 10s
##★存活超时时间,默认是30秒
discovery.zen.fd.ping_timeout: 120s
##★存活超时重试次数,默认是3次
discovery.zen.fd.ping_retries: 5

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值