ES 5.2.1集群搭建

Elasticsearch,简称ES

通过JAVA语言写的分布式,JSON-based开源搜索引擎,其设计支持高可用(maximum reliability),支持水平扩展(horizontal scalability)且方便管理(easy management)。
RPM下载地址:https://www.elastic.co/downloads/elasticsearch

安装

# cd ~
# mkdir elasticsearch
# cd elasticsearch
# rpm -ivh elasticsearch-5.2.1.rpm

配置

elasticsearch 5.2.1安装后默认的配置文件保存在 目录/etc/elasticsearch/的下面,里面有以下几个文件,而我们将要配置的是elasticsearch.yml

  • elasticsearch.yml
  • jvm.options
  • log4j2.properties
# cd /etc/elasticsearch/
# vim elasticsearch.yml //通过vim打开配置文件

在elasticsearch.yml文件末尾添加如下配置,其中

  • cluster_name,集群名称,默认为elasticsearch,可以不用配置,相同的集群必须名称是一致的
  • network.host是配置可以访问本节点的路由地址,类似于mysql如果需要外网访问,需要配置User表里面的可访问IP地址
  • discovery.zen.ping.unicast.hosts 用来配置所有用来组建集群的机器的IP地址,由于5.2.1新版本是不支持多播的,因此这个值需要提前设定好,当集群需要扩展的时候,该值都要做改变,增加新机器的IP地址
  • discovery.zen.minimum_master_nodes 用来配置主节点数量的最少值,如果主节点数量低于该值,闭包范围内的集群将会停止服务,之所以加粗体,是因为暂时尚未认证,下面配置为1方便集群更容易形成,即使只有一个主节点,也可以构建集群,因为我们有三个节点,所以是2
  • node.name配置节点名,用来区分节点
network.host: 0.0.0.0
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.unicast.hosts: ["172.20.110.76", "172.20.110.43", "172.20.110.42"]
node.name: node-2  //不同机器的节点名称配置成不同的

开启服务

开启服务之前需要系统开放两个端口,一个是9200端口,一个是9300端口,9200端口是restful接口服务的访问的端口,9300端口是节点之间互相发现构建集群的端口,通过以下命令到每一台机器里面开启es服务器端口

# sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent //开放9200端口
# sudo firewall-cmd --zone=public --add-port=9300/tcp --permanent
# firewall-cmd --reload  //让防火墙重新加载配置
# firewall-cmd --list-all  //查看端口开放情况

然后就是启动服务器了

# sudo systemctl start elasticsearch.service

如何关闭服务

# sudo systemctl stop elasticsearch.service

如何验证服务

# curl localhost:9200/_cluster/health

最后的效果图

ES 5.2.1集群搭建_第1张图片
效果图.jpg

参考

  • http://www.learnes.net/distributed_cluster/cluster_health.html

你可能感兴趣的:(ES 5.2.1集群搭建)