Windows10 搭建 ElasticSearch 集群服务

Windows10 搭建 ElasticSearch 集群服务

一、前言

  集群的搭建需要多台机器,之前我使用 ubuntu 16.04 搭建过 hadoop 的单机模式和分布式模式,这个今后会写,今天先写一篇使用 《 Windows10 搭建 ElasticSearch 集群服务 》供大家参考!
  需要注意的是:在 win 10 上部署多个 elasticsearch 节点 ,每个 elasticsearch 的端口都必须不一样。

二、需要的安装包

elasticsearch-5.6.8.zip 和 elasticsearch-head-master.zip

三、将 elasticsearch-5.6.8.zip 解压到一个没有中文和特殊符号的文件夹,然后拷贝两份,为了方便部署,我们进行如下命名:

四、修改每个 elasticsearch 服务的主配置文件 elasticsearch.yml

1、修改 elasticsearch-1 的 .yml 文件

# ================= Elasticsearch Configuration ===================
# 配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: elasticsearch
# 节点名称
node.name: node-001
# 指定该节点是否有资格被选举成为node
node.master: true
# 指定该节点是否存储索引数据,默认为true。
node.data: true
# 设置绑定的ip地址还有其它节点和该节点交互的ip地址,本机ip
network.host: 127.0.0.1
# 指定http端口,你使用head、kopf等相关插件使用的端口
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300。
transport.tcp.port: 9300
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
#因为下两台elasticsearch的port端口会设置成9301 和 9302 所以写入两台#elasticsearch地址的完整路径
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#如果要使用head,那么需要解决跨域问题,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"

2、修改 elasticsearch-2 的 .yml 文件

# ================= Elasticsearch Configuration =================== 
# 配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。 
cluster.name: elasticsearch 
# 节点名称 
node.name: node-002 
# 指定该节点是否有资格被选举成为node 
node.master: true 
# 指定该节点是否存储索引数据,默认为true。 
node.data: true
# 设置绑定的ip地址还有其它节点和该节点交互的ip地址,本机ip
network.host: 127.0.0.1
# 指定http端口,你使用head、kopf等相关插件使用的端口 
http.port: 9201 
# 设置节点间交互的tcp端口,默认是9300。 
transport.tcp.port: 9301 
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
#因为下一台elasticsearch的port端口会设置成9301  所以写入两台#elasticsearch地址的完整路径 
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#如果要使用head,那么需要增加新的参数,使head插件可以访问es
http.cors.enabled: true 
http.cors.allow-origin: "*"

3、修改 elasticsearch-3 的 .yml 文件

# ================= Elasticsearch Configuration ===================
# 配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。 
cluster.name: elasticsearch
# 节点名称 
node.name: node-003
# 指定该节点是否有资格被选举成为node 
node.master: true 
# 指定该节点是否存储索引数据,默认为true。 
node.data: true 
# 设置绑定的ip地址还有其它节点和该节点交互的ip地址,本机ip 
network.host: 127.0.0.1 
# 指定http端口,你使用head、kopf等相关插件使用的端口
http.port: 9202
# 设置节点间交互的tcp端口,默认是9300。 
transport.tcp.port: 9302
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
#因为下一台elasticsearch的port端口会设置成9301  所以写入两台#elasticsearch地址的完整路径
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"] 
#如果要使用head,那么需要增加新的参数,使head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"

五、逐一启动每一台 ElasticSearch 服务,查看各自的端口号

elasticsearch-1

elasticsearch-2

elasticsearch-3

六、将 elasticsearch-head-master 解压(这个软件解压即安装)


在安装的目录下右键新建一个 .txt 文件,写上 grunt server 这条命令,保存,并且更改后缀名为 .bat

双击 gruntserver.bat 启动

访问 http://localhost:9200 看到效果图,到此就完成了。

posted @ 2022-02-14 23:22  King-DA  阅读(199)  评论(0)    收藏  举报