elasticsearch本地集群搭建及远程服务器搭建注意事项

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36666651/article/details/81704717

首先下载解压elasticsearch压缩包,我使用的版本为elasticsearch-6.3.2-2,解压后的路径为E:\elasticsearch-6.3.2-2。

在解压目录下有config文件夹,里面有elasticsearch.yml文件,这个即为我们需要修改的配置文件。

修改以下配置

# 这个参数必须设置  此参数是用来允许单机允许多个实例,默认不允许
node.max_local_storage_nodes: 32

# 集群名称 同一个集群里的此参数要一致
cluster.name: wk1

# 节点名称  统一集群的节点之间需要不一致
node.name: node-1

# 此节点为master候选节点
node.master: true
# 此节点为data节点
node.data: true

### es的节点分为三类  client  master data  
### client的master和data都是false, 作用类似于nginx的请求转发
### master负责结果聚合等工作,压力较大  所以不建议节点同时为master和data
### data节点存储分片负责部分计算

# data存放的路径
path.data: F:\\es\\data
# log存放的路径
path.logs: F:\\es\\logs

# 此节点对外的ip  本地直接写127.0.0.1即可
network.host: s3.wk.com
# 对外暴露的http访问端口
http.port: 9201
# es内部通讯端口  单播使用
transport.tcp.port: 9301
# 关闭组播
discovery.zen.ping.multicast.enabled: false
# 单播访问的地址 域名直接改成127.0.0.1即可  或者修改下本机host将127.0.0.1映射到多个域名,我是这么做的  我的有一个client 3个master  所以配了四个地址
discovery.zen.ping.unicast.hosts: ["s1.wk.com:9301","s2.wk.com:9302","s3.wk.com:9303","s4.wk.com:9304"]

# CORS跨域访问设置
http.cors.enabled: true
http.cors.allow-origin: "*"

# 设置master选举需要赞同的最小节点数
# 值得计算方式为 master候选节点数除2加1
# 例如 node.master值为true的节点数量为5 值即为(5/2)+1 = 3
discovery.zen.minimum_master_nodes: 2

修改完配置文件后,将压缩目录复制多份,然后修改对应配置文件的node.name、http.port、transport.tcp.port、discovery.zen.ping.unicast.hosts即可,node.master和node.data两个参数看需要修改,默认值都是true。

PS:
1、http.port、transport.tcp.port、discovery.zen.ping.unicast.hosts也可以不设置,es会自动选取合适的端口来启动,默认使用多播方式通讯,这种方式在本地或者VPC环境下可以使用,但是不建议。
2、network.host这个参数和redis的host参数一样,根据填写的IP来限制访问权限,例如127.0.0.1那么就只有本地可以访问,192等内网IP那么就只有内网能访问,写公网IP的话外网才能访问。当我们在远程服务器上搭建服务时,如果设置的不是外网IP,很可能就是无法访问的。遇到这个问题我们可以通过使用netstat命令:netstat -tunlp | grep elasticsearch来查看ip与端口的绑定使用情况来检查。

猜你喜欢

转载自blog.csdn.net/qq_36666651/article/details/81704717
今日推荐