百度
360搜索
搜狗搜索

transient hostname,Elasticsearch Shard Allocation机制详细介绍

本文目录一览: 在CentOS 7 中修改hostname的方法

在CentOS或RHEL中,有三种定义的主机名:a、静态的(static),b、瞬态的(transient),以及 c、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Dan's Computer)。

在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。

查看主机名相关的设置: $ hostnamectl status

只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项。

$ hostnamectl status [--static|--transient|--pretty]

要同时修改所有三个主机名:静态、瞬态和灵活主机名: $ sudo hostnamectl set-hostname

就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你需要手动更新/etc/hosts。

如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用“--static”,“--transient”或“--pretty”选项。

例如,要永久修改主机名,你可以修改静态主机名:$ sudo hostnamectl --static set-hostname

注意,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名。

linux命令更改hostnane

查看当前的主机名
首先我们使用hostname命令来查看当前的主机名。
hostname1
也可以使用hostnamctl命令
hostnamectl
方法1:修改配置文件
主机名保存在/etc/hostname文件里,所以我们可以打开这个文件,手动编辑主机名。
sudo nano /etc/hosts12
把旧的主机名删除,替换为新的主机名,保存文件就行了。要注意大小写。
方法2:hostnamectl命令
命令语法为:
sudo hostnamectl set-hostname

12

这条命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新/etc/hosts文件。这两种方法的本质都是一样的。

方法3:hostname命令进行临时更改

如果只需要临时更改主机名,可以使用hostname命令。 《Linux就该这么学》

sudo hostname

12

这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。

静态主机名保存在/etc/hostname文件中。

linux修改计算机名后不变

hostname命令,
这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。
静态主机名保存在/etc/hostname文件中。
系统具体什么版本?不同Linux发行版甚至同一发行版的不同版本主机名修改方法都可能不同。
要么方法不对,要么改了之后没重启系统或者断开当前ssh连接。

Linux永久临时修改主机名

注意

主机名可以是任意格式的字符串,最长为 64 个字符。但建议在 static 和 transient 名称与 DNS采用的完全限定域名(FQDN)匹配,比如 host.example.com。还建议在 static 和 transient 名称中只包含 7字节 ASCII 小写字符,无空格或点,并将其限制为使用 DNS域名标签格式,尽管这不是一个严格要求。在以前的要求中不允许使用下划线,因此也不建议在此使用。 hostnamectl工具会强制采用以下限制:static 和 transient 主机名只包含 a-z、A-Z、0-9、“-”、“_” 和 “.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点。大小限制为 64 个字符。

一、临时修改主机名

[root@localhost ~]# hostname? ? ? //或hostnamectl(CentOS7)

过程

[root@localhost ~]# hostname? //查看主机名localhost.localdomain[root@localhost ~]# hostname xsnq? //临时修改[root@localhost ~]# hostname? //此处实际上已经是修改成功的xsnq

此方法在服务器重启后,主机名还是会是原先的名称。

二、永久修改主机名

1.方法一

使用 hostnamectl 修改,hostnamectl 是在 centos7 中新增加的命令。

hostnamectl 更多用法点此

语法hostnameset-hostname 主机名 --参数[root@localhost ~]# hostname set-hostname xsnq --static? //定义静态的(static)主机名//hostnameset-hostname xsnq 设定所有主机名? 可加参数 –pretty、–static、--transient 中的一个或多个选项。

//远程重新连接或重启服务器

2.方法二

修改主机名配置文件

[root@localhost ~]# vi /etc/hostname

把 localhost.localdomain 修改成你想取得主机名称。

例如, 把? localhost.localdomain ?修改为? xsnq ?。

重启服务器(如果已做了临时修改,只需保存配置文件即可,待下次服务器重启即可读取到新的主机名)

[root@localhost ~]# init 6[root@xsnq ~]#

此时主机名已永久修改成功。

Linux 服务器如何修改主机名

很多人使用hostname主机名来修改,其实这个只是做为暂时的,重启后将恢复到原来的名字.
很多人说修改/etc/hosts文件,其实这个文件里的主机名只是为来提供给dns解析的.如果你用不上dns,只需要修改主机名,那修改这个没用.
其实是修改这个文件etc/sysconfig/network这个文件里的主机名.
NETWORKING=yes
HOSTNAME=主机名
------------------------------------------------------------------------
记得重启!!!
------------------------------------------------------------------------
完整:
第一步:
#hostname oratest
第二步:
修改/etc/sysconfig/network中的hostname
第三步:
修改/etc/hosts文件
centos7
hostnamectl set-hostname oratest
参考资料:
1,通过修改文件/etc/sysconfig/network . eg:
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Server34 ---->修改想要的名字
2,修改文件/etc/hosts
127.0.0.1 localhost Server34 localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3,reboot 既可修改原主机名。
(二)CentOS7.2修改主机名
CentOS7.2修改主机名相对于6.5版本又有所改进,不需要重启就可以直接修改,具体的方法有如下三种:
(1)修改配置文件/etc/hostname来进行修改
12345
[root@localhost ~]# vim /etc/hostname server23[root@localhost ~]# systemctl restart systemd-hostnamed.service[root@localhost ~]# hostnameserver23
(2)通过nmtui修改主机名
12345678910111213
[root@localhost ~]# nmtui ┌─────────────────┤ Set Hostname ├──────────────────┐ │ │ │ Hostname Server23________________________________ │ │ │ │

│ │ │ └───────────────────────────────────────────────────┘ [root@localhost ~]# hostnameServer23

(3) hostnamectl的命令行工具

123456789101112138008138004252627282930313233

[root@localhost ~]# hostnamectl -helphostnamectl [OPTIONS...] COMMAND ...Query or change system hostname. -h --help Show this help --version Show package version --no-ask-password Do not prompt for password -H --host=[USER@]HOST Operate on remote host -M --machine=CONTAINER Operate on local container --transient Only set transient hostname --static Only set static hostname --pretty Only set pretty hostnameCommands: status Show current hostname settings set-hostname NAME Set system hostname set-icon-name NAME Set icon name for host set-chassis NAME Set chassis type for host set-deployment NAME Set deployment environment for host set-location NAME Set location for host[root@localhost ~]# hostnamectl status Static hostname: Server23 Icon name: computer-vm Chassis: vm Machine ID: b832bc29266640fe83d7256d53840cdc Boot ID: 33590b06c20b45bab1e8e12fbf4986d2 Virtualization: microsoft Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64[root@localhost ~]# hostnamectl set-hostname servers23[root@localhost ~]# hostnameservers23

阅读更多 >>>  linux未找到gcc命令

centos7 修改主机名

由于通过虚拟机搭建了docker swarm 集群,但是每个节点名字都是localhost.localdomain,无法区分,所以这里修改主机名进行区分
所有步骤集合,按图中步骤,就可以快速修改所有主机名了,后面的步骤是详细介绍下而已
hostnamectl 命令查看所有与主机名相关的设置
假设设置所有主机名为worker,命令为 hostnamectl set-hostname worker
修改成功后,查看,已经发生变化了,但是命令行前端的显示还没变化
主机名分别有三个 静态(--static)、瞬态(--transient)、灵活主机名(--pretty),加这几个参数可以单独修改
然后修改hosts文件,执行vim /etc/hosts,修改为 127.0.0.1 worker ::1 worker 没有vim用vi命令,#号是注释
重启,然后彻底生效,执行reboot
在docker swarm中也可以看到主机名改变了了

如何在CentOS 7上修改主机名hostname

你好,
在CentOS或RHEL中,有三种定义的主机名:a、静态的(static),b、瞬态的(transient),以及 c、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Dan's Computer)。
在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许查看或修改与主机名相关的配置。
要查看主机名相关的设置:
$ hostnamectl status
只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项。
$ hostnamectl status [--static|--transient|--pretty]
要同时修改所有三个主机名:静态、瞬态和灵活主机名:
$ sudo hostnamectl set-hostname
就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你需要手动更新/etc/hosts。
如果只想修改特定的主机名(静态,瞬态或灵活),你可以使用“--static”,“--transient”或“--pretty”选项。
例如,要永久修改主机名,可以修改静态主机名:
$ sudo hostnamectl --static set-hostname
注意,不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名。
CentOS修改主机名(hostname)
需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常。首先切换到root用户。
/etc/sysconfig/network
用任一款你喜爱的编辑器打开该文件,里面有一行 HOSTNAME=localhost.localdomain (如果是默认的话),修改 localhost.localdomain 为你的主机名。
/etc/hosts
打开该文件,会有一行 127.0.0.1 localhost.localdomain localhost 。其中 127.0.0.1 是本地环路地址, localhost.localdomain 是主机名(hostname),也就是你待修改的。localhost 是主机名的别名(alias),它会出现在Konsole的提示符下。将第二项修改为你的主机名,第三项可选。
将上面两个文件修改完后,并不能立刻生效。如果要立刻生效的话,可以用 hostname your-hostname 作临时修改,它只是临时地修改主机名,系统重启后会恢复原样的。但修改上面两个文件是永久的,重启系统会得到新的主机名。

如何在CentOS 7上修改主机名

在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。
要查看主机名相关的设置:
$ hostnamectl status
只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项。
$ hostnamectl status [--static|--transient|--pretty]
要同时修改所有三个主机名:静态、瞬态和灵活主机名:
$ sudo hostnamectl set-hostname

就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你需要手动更新/etc/hosts。

如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用“--static”,“--transient”或“--pretty”选项。

例如,要永久修改主机名,你可以修改静态主机名:

$ sudo hostnamectl --static set-hostname

注意,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名。

hostnamectl 调用哪个api实现

在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。要查看主机名相关的设置: $ hostnamectl status 只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项。

Elasticsearch Shard Allocation机制

????Elasticsearch由一些Elasticsearch进程(Node)组成集群,用来存放索引(Index)。为了存放数据量很大的索引,Elasticsearch将Index切分成多个分片(Shard),在这些Shard里存放一个个的文档(document)。通过这一批shard组成一个完整的index。并且,每个Shard可以设置一定数量的副本(Replica),写入的文档同步给副本Shard,副本Shard可以提供查询功能,分摊系统的读负载。在主Shard所在Node(ES进程)挂掉后,可以提升一个副本Shard为主Shard,文档继续写在新的主Shard上,来提升系统的容灾能力。

????既然Shard和Replica有这样的好处,那么Elasticsearch是如何利用和管理这些Shard,让Shard在集群Node上合理的分配,比如,使副本Shard不和主Shard分配在一个Node上,避免容灾失效等。尽量把Shard分配给负载较轻的Node来均摊集群的压力,随着Shard分配,久而久之Shard在集群中会出现分配不均衡的情况,这又该如何才能做到均衡。这便是我们这次讨论的主题:Elasticsearch的分片分配和均衡机制。

????先看下在什么场景下会触发Shard的Allocation:

? ? 1、创建/删除一个Index;

? ? 2、加入/离开一个Node;

? ? 3、手动执行了Reroute命令;

? ? 4、修改了Replica设置;

????当触发了Shard的Allocation,Allocation是如何决定将分片分配给哪个Node,Allocation的过程又是怎样的呢?

????Elasticsearch内有个一个AllocationDecider模块,定义了各种策略决定的四种结果:

????从字面上便可以看出策略结果的含义。AllocationDecider策略有14种,每种策略是一个单独的实现,继承AllocationDecider类,重写了如下策略方法。如果不重写的话,默认是ALWAYS允许的。

????定义了Shard维度的Allocation策略,防止Shard在失败次数达到上限后继续分配,当Shard分配失败一次后,失败次数会加1,当Shard分配次数超过配置的最大次数时,这个策略生效,返回Decision.NO;可以通过配置”index.allocation.max_retries”,来设置分配的最大失败重试次数,默认是5次,当然系统分配到达重试次数后,可以手动分配分片,在URL后带上“?retry_failed”请求参数,可以尝试再次分配分片。

????定义了Shard维度的Allocation策略,在分配副本分片时,检查主分片的状态,防止主分片不是Active情况下分配副本分片。

????定义了Rebalance策略,检查所有的主分片副本分片均是Active状态,才允许Rebalance操作。

????定义了Rebalance策略,检查系统动态配置”cluster.routing.allocation.allow_rebalance”,可以配置这些选项:

? ? 1、always - 不管如何都允许Rebalance。

? ? 2、indices_primaries_active - 集群内所有主分片都已经分配后,允许Rebalance,也就是在集群是red状态不允许Rebalance。

? ? 3、indices_all_active - (default) 所有的分片一分配才允许Rebalance,此时集群状态要是green状才行。

? ? 4、默认配置是所有分片均已分配,也就是集群是green状态的才允许Rebalance操作。

????定义了Rebalance策略,检查系统动态配置”cluster.routing.allocation.cluster_concurrent_rebalance”,表示集群同时允许进行rebalance操作的并发数量,默认是2。通过检查RoutingNodes类中维护的relocatingShards计数器,看是否超过系统配置的并发数,超过则不允许执行Rebalance操作。

????定义了Allocate策略和Rebalance策略,策略会读取系统动态配置,配置分cluster级别和index级别,如果都配置了,index级别会覆盖cluster级别。 Allocate策略会读取cluster级别”cluster.routing.allocation.enable”配置,默认为all。

? ? 1、all - (默认) 所有类型均允许allocation。

? ? 2、primaries - 只允许allocation主分片。

? ? 3、new_primaries - 只允许allocation 新创建index的主分片。

? ? 4、none - 所有的分片都不允许allocation。

???如果当前index配置了“index.routing.allocation.enable”配置,将覆盖cluster级别配置,内容和上面的一样,也分四种类型Rebalance也会读取cluster级别“cluster.routing.rebalance.enable”配置,默认为all。

? ? 1、all - (默认) 所有类型均允许rebalance。

? ? 2、primaries - 只允许rebalance主分片。

? ? 3、replicas - 只允许rebalance 副本分片。

? ? 4、none - 所有的分片都不允许rebalance。

????index配置是”index.routing.rebalance.enable”,内容和上面的一样,也各分四种类型,含义一样。index级别配置后,会覆盖cluster级别配置。

????定义了Allocate策略,检查分片所在Node的版本是否高于目标Node的ES版本,如果高于,不允许allocation,这种策略的目的是避免目标Node无法适配高版本lucencn格式的文件,一般集群ES都是一致的,当集群在进行ES版本滚动升级时,会出现版本不一致的情况。

????定义了Allocate策略,根据系统动态配置"cluster.routing.allocation.snapshot.relocation_enabled",决定snapshot期间是否允许allocation,由于snapshot只发生在主分片,所以只会限制主分片的allocation。

????定义了Allocate策略,明确指定是否允许分片分配到指定Node上,分为index级别和cluster级别:

? ? 1、index.routing.allocation.require.{attribute}

? ? 2、index.routing.allocation.include{attribute}

? ? 3、index.routing.allocation.exclude.{attribute}

? ? 4、cluster.routing.allocation.require.{attribute}

? ? 5、cluster.routing.allocation.include.{attribute}

? ? 6、cluster.routing.allocation.exclude.{attribute}

????require表示必须分配到指定node,include表示可以分配到指定node,exclude表示不允许分配到指定Node,cluster的配置会覆盖index级别的配置,比如index include某个node,cluster exclude某个node,最后的结果是exclude某个node,上面{attribute}表示node的匹配方式有:

? ? 1、_name 匹配node名称,多个node名称用逗号隔开。

? ? 2、_ip 匹配node ip,多个ip用逗号隔开。

? ? 3、_host 匹配node的host name 多个host name用逗号隔开。

????例如:PUT _cluster/settings{"transient":{"cluster.routing.allocation.exclude._ip":“10.0.0.1,10.0.0.2"}}

????定义了Allocate策略,避免将shard的不同类型(主shard,副本shard)分配到同一个node上,先检查已分配shard的NodeId是否和目标Node相同,相同肯定是不能分配。除了检查NodeId,为了避免分配到同一台机器的不同Node,会检查已分配shard的Node ip和hostname是否和目标Node相同,相同的话也是不允许分配的。

????定义了Allocate策略,Remind策略。策略根据Node的磁盘剩余量来决定是否分配到该Node,以及检查Shard是否可以继续停留在当前Node上,会检查系统的动态配置"cluster.routing.allocation.disk.threshold_enabled"。默认“true”,如果为false,该策略允许分配分片。策略里还会用到另外两项系统动态配置:

? ? 1、"cluster.routing.allocation.disk.watermark.low",默认值“85%”,达到这个值后,新索引的分片不会分配到这个Node上,也可以设置具体的byte数大小;

? ? 2、"cluster.routing.allocation.disk.watermark.high",默认值“90%”,达到这个值后,会触发已分配到该节点的Shard Rebalance到其他Node上,配置项可以设置成具体的byte数大小。

????定义了Allocate策略,避免过多的Recoving Allocation,结合系统的动态配置,避免过多的Recoving任务导致该Node的负载过高,相关配置有:? ? ? ? ? ? ????1、"cluster.routing.allocation.node_initial_primaries_recoveries",当前Node在进行主分片恢复的数量,默认为四个,ES内部是通过统计主Shard是否处于初始化状态,并且不是出于从其他节点reloacting过来。

????2、"cluster.routing.allocation.node_concurrent_incoming_recoveries",默认是2,通常是其他Node上的副本shard恢复到该Node上。? ??

????3、"cluster.routing.allocation.node_concurrent_outgoing_recoveries",默认为2,通常是当前节点上的主节点恢复副本Shard到其他Node上。

????4、 "cluster.routing.allocation.node_concurrent_recoveries",用来直接配置上面incoming和outgoing两个值的和。

????定义了Allocate策略

? ? 1、"index.routing.allocation.total_shards_per_node",index级别的,表示这个index每个node的总共允许存在多少个shard,默认值是-1表示无穷多个;

? ? 2、"cluster.routing.allocation.total_shards_per_node",cluster级别,表示集群范围内每个Node允许存在有多少个shard。默认值是-1表示无穷多个。

????如果目标Node的Shard数超过了配置的上限,则不允许分配Shard到该Node上。注意:index级别的配置会覆盖cluster级别的配置。

????定义了Shard Allocation和Remind策略,类似机架感知。为了将主shard和副本shard跨机架/地区分配。通过设置系统动态配置"cluster.routing.allocation.awareness.attributes:rack_id",这里配置的感知类型为rack_id,相应的在Node配置上增加"node.attr.rack_id:rack_one"后,随后创建的index的主分片与副本分片会跨rack_id分配,避免机架网络设备故障导致整个集群不可用。相应的"cluster.routing.allocation.awareness.force.zone.values"会强制跨机架分配副本shard,如果分配完主分配,无可用其他机架分配副本分片,则副本分片不允许分配。

????????所有的Allocation由上面14个策略组成,通过全部的策略该Node才是一个符合策略条件的目标Node,允许进行后面的分片分配过程。Shard Allocation,Shard Move,Shard Rebalance会利用这些Decision,再决定是否进行分片分配,分片迁移,分片均衡等操作。

? ??Allocation的触发条件有以下几种:

????额外说明一下,上表中的第3点,当节点离开后,在系统动态配置"index.unassigned.node_left.delayed_timeout"的超时时间过后,会触发”DelayedAllocationService.DelayedRerouteTask”,会延迟搬迁操作,这样设置是为了避免网络抖动导致节点短暂离开触发Shard搬迁。

????在分配分片时,会先后经过两个维度的验证:一个是Shard维度,一个是Node维度 其中Shard维度有两个Decider: MaxRetryAllocationDecider和ReplicaAfterPrimaryActiveAllocationDecider。接着挨个验证Node级别的分配策略,完成了未分配分片的分配步骤后,接下来会进行分片是否需要迁移的检查,也就是下面的:Move Shard。

????Move Shard过程会经过上面十四个策略实现的canRemain方法,判断当前Shard是否可以继续留在当前的Node上, 会经过:

? ? 1、AwarenessAllocationDecider的canRemain方法,判断是否满足awareness配置的感知参数。

? ? 2、DiskThresholdDecider的canRemain方法,判断当前Node是否超过高水位线。

? ? 3、FilterAllocationDecider的canRemain方法,判断当前Node是否符合过滤策略。

? ? 4、ShardsLimitAllocationDecider的方法,判断当前Node是否满足index维度和cluster维度的限制条件。

????只有上面策略全部通过,Shard才允许停留在当前Node上,否则会执行Relocating Shard过程。完成了分片搬迁,接下来会对集群中的分片均衡性做检查,ES内通过Balancer.balance方法实现,我们看看Rebalance过程是怎样的:

????Rebalance之前会经过上面十四个策略实现的canRebalance方法,全部通过才会执行后面的Rebalance过程: ????Rebalance过程是通过调用balanceByWeights()方法,该方法会计算shard所在每个Node的Weight值 其中,weight的计算公式为:

????weightShard = node.numShards() + numAdditionalShards-balancer.avgShardsPerNode()

????weightIndex = node.numShards(index) + numAdditionalShards-balancer.avgShardsPerNode(index)

????weight = theta0 * weightShard + theta1 * weightIndex

????注: numAdditionalShards,一般为0,调用weightShardAdded,weightShardRemoved,分别为1和-1 theta0=“cluster.routing.allocation.balance.shard”系统动态配置项,默认值为0.45f theta1=“cluster.routing.allocation.balance.index”,系统动态配置项,默认值为0.55f。

???? 这便是Shard分配,搬迁和平衡的全部过程,ElasticSearch通过这三个操作,保证Shard在Node之间均衡的分配,修改动态配置后完成Shard迁移,以及在集群运行过程中的自动均衡。

网站数据信息

"transient hostname,Elasticsearch Shard Allocation机制"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:transient hostname,Elasticsearch Shard Allocation机制的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!