《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署—— 3.4.1.1.安装Elasticsearch(本地及docker)(6) https://developer.aliyun.com/article/1231508
小结
本节列举了通过多种方式对 ES 节点进行最简安装、部署、停机等操作,希望读者可以找到适合自己的方式进行操作。
集群的组建
单个的 ES 节点可以支持普通的测试,但是对于生产的使用,特别是对数据安全性、可靠性、性能等维度有要求的使用中,应考虑使用 ES 集群支持生产的使用。本节将根据安装方式的不同,分别对集群的组建配置等进行阐述。
集群组建流程
ES 节点在启动时,会根据集群的信息以及自己的身份(配置在 $ES_HOME/config/elasticsearch.yml 里)尝试加入集群,其主要参数为。
1、cluster.name 集群名称,节点会在同一网段中尝试找到和自己同一个集群的其他节点组建/加入现有集群。
2、node.name 节点自身的标记,集群内唯一。
3、node.master、node.data、node.ingest 节点身份,节点启动时会根据这个参数来进行注册。
4、network.host 节点监听 IP 地址,一般建议本机 IP。
5、http.port 节点监听端口,默认9200。
○ 不额外设置的话,集群节点间通信的端口会默认为 9300。
○ 也可以通过参数 transport.port 来特殊指定为其它的端口。
1、cluster.initial_master_nodes 集群第一次初始化时的候选 master 节点列表。
2、discovery.seed_hosts 集群节点发现会尝试访问的节点列表。
3、ES 集群在启动/加入会根据节点的属性(master、master-eligible、data……)进行选主和状态同步,(注:集群选主流程将在后续章节进行详细阐述,本章只进行简要描述)。
○ 集群初始化的时候(7.x),master候选人(master)会尝试访问同一网段中同一个集群的所有节点。
○ 如果是新集群启动,配置在cluster.initial_master_nodes里的节点会优先成为 master 候选节点。
○ 这些候选节点会发出投票及拉票请求给所有具有投票资格的节点(master、data、voting_only…)。
○ 在获取足够多的票数之后,master 节点当选,否则 master 候选节点会在等待一段时间之后重新发起投票。请注意,为了防止集群脑裂的发生,这里这里建议在 cluster.initial_master_nodes 参数中设置奇数个(只需1~3个节点,不一定需要所有 master 候选节点)即可。
○ master 会通过两段提交的方式将集群的信息、组织架构、模板等信息发布给集群中的所有节点。
○ 当所有节点都成功同步集群状态之后,集群启动宣告完成。
《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.1.Elastic Stack 安装部署—— 3.4.1.1.安装Elasticsearch(本地及docker)(8) https://developer.aliyun.com/article/1231505