Elasticsearch集群搭建

ES中的基本概念

  • cluster:代表一个集群,集群中有多个节点,其中有一个为主节点,这个节点是通过选举产生的,起到了去中心化。
  • shards:代表索引分片,es可以把一个完整的索引分成多个分片,可以把一个索引拆分成多个,实现分布式搜索。
  • replicas:代表索引副本,es可以设置多个索引的副本,既能提高系统的容错性,也能对搜索请求进行负载均衡。
  • recovery:代表数据恢复或者叫数据重新分布,es在有节点加入或者退出时会根据机器的负载对索引进行重新分配,挂掉的节点重新启动时也会进行数据恢复。
  • river:代表es的一个数据源,也是其他存储方式(如数据库)同步数据到es的一个方法。(river
    包括couchDB、RabbiMQ等)
  • gataway:代表es索引快照的存储方式,es默认是先把索引放在内存中,当内存满了之后再持久化到本地硬盘。当es关闭重启时,es会从硬盘中读取索引备份数据。es支持多种gateway方式:本地文件系统(默认),分布式文件系统,Hadoop的HDFS和云存储等;
  • discovery.zen:代表es的自动发现节点机制,es会通过广播寻找存在的节点,再通过多播协议来进行节点之间的通讯。
  • Transport:代表es内部jiedian或者集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时支持json、thrift等。

集群环境下的核心配置

https://blog.csdn.net/wang_zhenwei/article/details/50385743(更详细的配置)

cluster.name: mycluster # 集群名称 
node.name: els1 # 节点名称,仅仅是描述名称,用于在日志中区分 
network.host: 192.168.0.1 # 当前节点的IP地址 

http.port: 9200 # 对外提供服务的端口,9300为集群服务的端口 
transport.tcp.port: 9300  
discovery.zen.ping.unicast.hosts: ["172.18.68.11", "172.18.68.12","172.18.68.13"] # 集群个节点IP地址,也可以使用els、els.shuaiguoxia.com等名称,需要各节点能够解析 
discovery.zen.minimum_master_nodes: 2 # 为了避免脑裂,集群节点数最少为 半数+1
bootstrap.system_call_filter: false

启动es(ps:在docker容器这种快捷启动方式有用)

systemctl enable elasticsearch.service
systemctl start elasticsearch

查看节点信息

curl -XGET 'http://172.18.68.11:9200/_cat/nodes?pretty'

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