前面我们对于ElasticSearch入门 - 单实例的安装 和 ElasticSearch入门 - ElasticSearch-Head插件的安装 的学习知道怎么进行单实例的安装,那么我们今天就要学习一下如何在分布式的环境中进行安装和启动。
文件的结构
为了能模拟在多个服务器中进行分布式的安装,所以现在在单机上进行多个es服务的安装。
文件结构图:
如图,我们使用最开始的es服务为mater,另外新建两个作为slave使用,将解压后的文件分别复制到slaveA、slaveB中,文件结构详细为:
- elasticsearch-5.6.4
- es_slave_a
- elasticsearch-5.6.4
- es_slave_b
- elasticsearch-5.6.4
配置
所有的服务都需要进行配置,文件为:/config/elasticsearch.yml
配置如下:
master:
# 这两个之前配过,就不需要重复了
http.cors.allow-origin: "*"
http.cors.enabled: true
cluster.name: winter # 集群的名称
node.name: master # 给master起一个名字
node.master: true # 指定为master
network.host: 127.0.0.1 # 绑定ip
# 端口默认 9200 即可
slaveA:
cluster.name: winter # 这个必须与master保持一致
node.name: slave1
network.host: 127.0.0.1
http.port: 8200 # 这个slave一定要指定端口,而且不能覆盖默认的9200端口,因为会导致冲突
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] #该配置是指定master的地址
slaveB:
cluster.name: winter # 这个必须与master保持一致
node.name: slave2
network.host: 127.0.0.1
http.port: 8000 # 这个slave一定要指定端口,而且不能覆盖默认的9200端口,因为会导致冲突
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] #该配置是指定master的地址
服务的启动
关闭后台的启动
如果Master在之前已经后台启动,那么我们需要杀掉后台才可以重新启动:
我们需要到head插件的页面进行服务的关停操作:
如果不知道怎么使用这个插件的,请上一篇博客:ElasticSearch入门 - ElasticSearch-Head插件的安装
就可以把之前启动的es服务杀掉,然后我们便一个一个的服务进行启动。
启动服务
重新打开一个命令行工具,然后依次进入各个服务文件的根目录,将服务一个一个后台启动:
cd elasticsearch-<version>
./bin/elasticsearch
如果你想把 Elasticsearch 作为一个守护进程在后台运行,那么可以在后面添加参数 -d 。
如果你是在 Windows 上面运行 Elasticseach,你应该运行 bin\elasticsearch.bat 而不是 bin\elasticsearch 。
浏览器输入:http://localhost:9100/
说明分布式的安装已经成功了,可以看到一个master和两个slave。