ElasticSearch集群学习笔记

术语

shard : 分片 node : 节点

添加节点到集群

当你启动一个ElasticSearch的一个实例时,也意味着你在启动一个节点。一个ElasticSearch集群就是一组具有相同cluster.name属性的节点。当节点加入或脱离节点时,集群会自动识别并分发数据到其他可用节点。

如你正在运行单实例的ElasticSearch,即你有一个单节点的集群。所有主分片(primary shards)都被放在这个节点上面。没有副本分片可以分配,所以集群状态始终显示为黄色。此时,集群仍然具备所有功能,但是存在数据丢失的风险。

你也可以添加节点到这个集群来提高容量和可用性。通常,一个节点既可以是数据节点也可以有资格被选举为控制集群的主节点。当然,你也可以把一个新节点配置为特殊用途,比如处理请求,更多详细信息,请参数节点章节 当你添加更多节点到一个集群,集群会自动分配副本分片。当所有主分片和副本分片为活跃状态时,集群的状态就会被更改为绿色。

  • 添加一个节点到一个集群
    1. 配置一个新的ElasticSearch实例;
    2. 通过cluster.name属性指定集群的名字。
      如:添加一个节点到loggin-prod集群,则在elasticsearch.yml文件中设置cluster.name: "logging-prod"
    3. 启动ElasticSearch . 节点会自动发现和加入指定的集群.

发现(Discovery)

发现模块负责发现集群中的节点和选举主节点。

注意:ElasticSearch是一个对等的系统,委托/广播的操作由节点间直接通讯。所有主要的API(index、delete、search)都不与主节点通信。主节点的职责是维护集群的全局状态,节点加入或离开集群时主节点会重新分配shard(分片)。每次更改集群状态时,主节点都会把最新状态通知到集群中的其他节点(通知方式取决于实际的发现实现方式)。

设置(Settings)

cluster.name 参数被用于创建彼此分离的集群。该参数的默认值为elasticsearch ,但建议更改该参数值用于表述正在运行的集群的逻辑名字。

集群(Cluster)

主节点扮演的一个重要角色就是决定哪个分片分配给哪个节点,以及何时在节点间移动分片以达到集群节点的平衡性。

有许多设置可以控制分片的分配过程:

除此之外,还有一些集群级的设置;

这部分的所有设置都是可以动态设置的,也就是说可以通过集群更新设置的API进行设置。

转载于:https://my.oschina.net/jackyli515/blog/3005764

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值