搭建Elasticsearch5.6.8 分布式集群

集群搭建

1、master[192.168.101.175] 配置elasticsearch.yml

#集群名称 所有节点要相同
cluster.name: my-application
#本节点名称
node.name: node-175

network.host: 0.0.0.0
http.port: 9200
# head插件设置
http.cors.enabled: true
#设置可以访问的ip 这里全部设置通过
http.cors.allow-origin: "*"
#作为master节点
node.master: true
#是否存储数据
node.data: false
#设置节点 访问的地址 设置master所在机器的ip
discovery.zen.ping.unicast.hosts: ["192.168.101.175"]

2、node[192.168.101.177] 配置elasticsearch.yml

#集群名称 所有节点要相同
cluster.name: my-application
#本节点名称
node.name: node-176

network.host: 0.0.0.0
http.port: 9200
# head插件设置
http.cors.enabled: true
#设置可以访问的ip 这里全部设置通过
http.cors.allow-origin: "*"
#作为master节点
node.master: false
#是否存储数据
node.data: true
#设置节点 访问的地址 设置master所在机器的ip
discovery.zen.ping.unicast.hosts: ["192.168.101.175"]

3.node[192.168.101.177] 配置elasticsearch.yml

#集群名称 所有节点要相同
cluster.name: my-application
#本节点名称
node.name: node-177

network.host: 0.0.0.0
http.port: 9200
# head插件设置
http.cors.enabled: true
#设置可以访问的ip 这里全部设置通过
http.cors.allow-origin: "*"
#作为master节点
node.master: false
#是否存储数据
node.data: true
#设置节点 访问的地址 设置master所在机器的ip
discovery.zen.ping.unicast.hosts: ["192.168.101.175"]

4.集群搭建成功

elasticearch概念解释

Elasticsearch集群中有的节点一般有三种角色:master node、data node和client node。

1)master node——master节点点主要用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等。

2)client node——client 节点起到路由请求的作用,实际上可以看做负载均衡器。

3)data node——data 节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源;

定义发现的节点:

   注意,分布式系统整个集群节点个数N要为奇数个!!

 discovery.zen.ping.unicast.hosts: [" 110.10.11.130 :9300", "10.118.110.112:9300", "110.0.11.143:9300"]  

是否参与master选举和是否存储数据

#node.master: true

#node.data: true

分片数和副本数

#index.number_of_shards: 5

#index.number_of_replicas: 1

 让我们在包含一个空节点的集群内创建名为 blogs 的索引。索引在默认情况下会被分配5个主分片,但是为了演示目的,我们将分配3个主分片和一份副本(每个主分片拥有一个副本分片):

PUT /blogs
{
   "settings" : {
      "number_of_shards" : 3,
      "number_of_replicas" : 1
   }
}

我们的集群现在是拥有一个索引的单节点集群。所有3个主分片都被分配在Node 1 。

Elasticsearch 禁止同一个分片的主分片和副本分片在同一个节点上,所以如果是一个节点的集群是不能有副本的。

ES集群是如何工作?

  elasticsearch集群一旦建立起来以后,会选举出一个master,其他都为slave节点。

  但是具体操作的时候,每个节点都提供写和读的操作。就是说,你不论往哪个节点中做写操作,这个数据也会分配到集群上的所有节点中。

资料

https://blog.csdn.net/yzhujue/article/details/53128813?utm_source=blogxgwz4

https://www.cnblogs.com/bigshark/p/7906421.html

原文地址:https://www.cnblogs.com/cnki/p/8484450.html