一、前言
集群的搭建需要多台机器,之前我使用 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 文件
1 # ================= Elasticsearch Configuration =================== 2 # 配置es的集群名称, es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。 3 cluster.name: elasticsearch 4 # 节点名称 5 node.name: node-001 6 # 指定该节点是否有资格被选举成为node 7 node.master: true 8 # 指定该节点是否存储索引数据,默认为true。 9 node.data: true 10 # 设置绑定的ip地址还有其它节点和该节点交互的ip地址,本机ip 11 network.host: 127.0.0.1 12 # 指定http端口,你使用head、kopf等相关插件使用的端口 13 http.port: 9200 14 # 设置节点间交互的tcp端口,默认是9300。 15 transport.tcp.port: 9300 16 #设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。 17 #因为下两台elasticsearch的port端口会设置成9301 和 9302 所以写入两台#elasticsearch地址的完整路径 18 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"] 19 #如果要使用head,那么需要解决跨域问题,使head插件可以访问es 20 http.cors.enabled: true 21 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 启动
访问