国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

elasticsearch高級(jí)配置一 ---- 分片分布規(guī)則設(shè)置

2019-11-15 01:09:54
字體:
供稿:網(wǎng)友
elasticsearch高級(jí)配置一 ---- 分片分布規(guī)則設(shè)置 2015-08-17 18:53 by halberts, ... 閱讀, ... 評(píng)論, 收藏, 編輯 java代碼 收藏代碼
  1. cluster.routing.allocation.allow_rebalance

設(shè)置根據(jù)集群中機(jī)器的狀態(tài)來重新分配分片,可以設(shè)置為always, indices_PRimaries_active和indices_all_active,默認(rèn)是設(shè)置成indices_all_active來減少集群初始啟動(dòng)時(shí)機(jī)器之間的交互。

Java代碼 收藏代碼
  1. cluster.routing.allocation.cluster_concurrent_rebalance

設(shè)置在集群中最大允許同時(shí)進(jìn)行分片分布的個(gè)數(shù),默認(rèn)為2,也就是說整個(gè)集群最多有兩個(gè)分片在進(jìn)行重新分布。

Java代碼 收藏代碼
  1. cluster.routing.allocation.node_initial_primaries_recoveries

設(shè)置指定初始每個(gè)節(jié)點(diǎn)。由于多數(shù)情況下是使用local的gateway,這應(yīng)該會(huì)更快,

Java代碼 收藏代碼
  1. cluster.routing.allocation.node_concurrent_recoveries

設(shè)置在節(jié)點(diǎn)中最大允許同時(shí)進(jìn)行分片分布的個(gè)數(shù),默認(rèn)為2

Java代碼 收藏代碼
  1. cluster.routing.allocation.disable_allocation

使主要分片或副本的分布失效。要知道,如果主分片不存在(那個(gè)節(jié)點(diǎn)掛了)那么其副本仍然會(huì)被提升為主分片,這個(gè)設(shè)置只有在動(dòng)態(tài)地使用集群更新設(shè)置api調(diào)用時(shí)才生效。

Java代碼 收藏代碼
  1. cluster.routing.allocation.disable_replica_allocation

使副本分布失效。和上一個(gè)設(shè)置一樣,只有動(dòng)態(tài)地使用集群更新設(shè)置api調(diào)用時(shí)才生效。

Java代碼 收藏代碼
  1. indices.recovery.concurrent_streams

當(dāng)從一個(gè)點(diǎn)(peer)恢復(fù)分片時(shí)當(dāng)前節(jié)點(diǎn)最多允許的文件讀取流的個(gè)數(shù),默認(rèn)為5自定義分片分布規(guī)則可以通過設(shè)置分片的分布規(guī)則來人為地影響分片的分布,下面是個(gè)例子:假設(shè)我們有幾個(gè)機(jī)架。當(dāng)我們啟動(dòng)一個(gè)節(jié)點(diǎn),我們可以設(shè)置一個(gè)叫rack_id(其它名字也可以)的屬性,例如下面設(shè)置:

Java代碼 收藏代碼
  1. node.rack_id:rack_one

上面這個(gè)例子設(shè)置了一個(gè)屬性叫rack_id,它的值為rack_one。現(xiàn)在,我們要設(shè)置rack_id作為分片分布規(guī)則的一個(gè)屬性(在所有節(jié)點(diǎn)都要設(shè)置)。

Java代碼 收藏代碼
  1. cluster.routing.allocation.awareness.attributes:rack_id

上面設(shè)置意味著rack_id會(huì)用來作為分片分布的依據(jù)。例如:我們啟動(dòng)兩個(gè)node.rack_id設(shè)置rack_one的節(jié)點(diǎn),然后建立一個(gè)5個(gè)分片,一個(gè)副本的索引。這個(gè)索引就會(huì)完全分布在這兩個(gè)節(jié)點(diǎn)上。如果再啟動(dòng)另外兩個(gè)節(jié)點(diǎn),node.rack_id設(shè)置成rack_two,分片會(huì)重新分布,但是一個(gè)分片和它的副本不會(huì)分配到同樣rack_id值的節(jié)點(diǎn)上。可以為分片分布規(guī)則設(shè)置多個(gè)屬性,例如:

Java代碼 收藏代碼
  1. cluster.routing.allocation.awareness.attributes:rack_id,zone

注意:當(dāng)設(shè)置了分片分布屬性時(shí),如果集群中的節(jié)點(diǎn)沒有設(shè)置其中任何一個(gè)屬性,那么分片就不會(huì)分布到這個(gè)節(jié)點(diǎn)中。強(qiáng)制分布規(guī)則更多的時(shí)候,我們不想更多的副本被分布到相同分布規(guī)則屬性值的一群節(jié)點(diǎn)上,那么,我們可以強(qiáng)制分片規(guī)則為一個(gè)指定的值。例如,我們有一個(gè)分片規(guī)則屬性叫zone,并且我們知道有兩個(gè)zone,zone1和zone2.下面是設(shè)置:

Java代碼 收藏代碼
  1. cluster.routing.allocation.awareness.force.zone.values:zone1,zone2
  2. cluster.routing.allocation.awareness.attributes:zone

現(xiàn)在我們啟動(dòng)兩個(gè)node.zone設(shè)置成zone1的節(jié)點(diǎn),然后創(chuàng)建一個(gè)5個(gè)分片,一個(gè)副本的索引。索引建立完成后只有5個(gè)分片(沒有副本),只有當(dāng)我們啟動(dòng)node.zone設(shè)置成zone2的節(jié)點(diǎn)時(shí),副本才會(huì)分配到那節(jié)點(diǎn)上。分片分布過濾允許通過include/exclude過濾器來控制分片的分布。這些過濾器可以設(shè)置在索引級(jí)別上或集群級(jí)別上。下面是個(gè)索引級(jí)別上的例子:假如我們有四個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都有一個(gè)叫tag(可以是任何名字)的屬性。每個(gè)節(jié)點(diǎn)都指定一個(gè)tag的值。如:節(jié)點(diǎn)一設(shè)置成node.tag: value1,節(jié)點(diǎn)二設(shè)置成node.tag: value2,如此類推。我們可以創(chuàng)建一個(gè)索引然后只把它分布到tag值為value1和value2的節(jié)點(diǎn)中,可以通過設(shè)置index.routing.allocation.include.tag 為value1,value2達(dá)到這樣的效果,如:

Java代碼 收藏代碼
  1. curl-XPUTlocalhost:9200/test/_settings-d'{
  2. "index.routing.allocation.include.tag":"value1,value2"
  3. }'

與此相反,通過設(shè)置index.routing.allocation.exclude.tag為value3,我們也可以創(chuàng)建一個(gè)索引讓其分布在除了tag設(shè)置為value3的所有節(jié)點(diǎn)中,如:

Java代碼 收藏代碼
  1. curl-XPUTlocalhost:9200/test/_settings-d'{
  2. "index.routing.allocation.exclude.tag":"value3"
  3. }'

include或exclude過濾器的值都會(huì)使用通配符來匹配,如value*。一個(gè)特別的屬性名是_ip,它可以用來匹配節(jié)點(diǎn)的ip地址。顯然,一個(gè)節(jié)點(diǎn)可能擁有多個(gè)屬性值,所有屬性的名字和值都在配置文件中配置。如,下面是多個(gè)節(jié)點(diǎn)的配置:

Java代碼 收藏代碼
  1. node.group1:group1_value1
  2. node.group2:group2_value4

同樣的方法,include和exclude也可以設(shè)置多個(gè)值,如:

Java代碼 收藏代碼
  1. curl-XPUTlocalhost:9200/test/_settings-d'{
  2. "index.routing.allocation.include.group1":"xxx"
  3. "index.routing.allocation.include.group2":"yyy",
  4. "index.routing.allocation.exclude.group3":"zzz",
  5. }'

上面的設(shè)置可以通過索引更新的api實(shí)時(shí)更新到索引上,允許實(shí)時(shí)移動(dòng)索引分片。集群范圍的過濾器也可以定義,可以通過集群更新api實(shí)時(shí)更新到集群上。這些設(shè)置可以用來做讓一些節(jié)點(diǎn)退出集群的操作。下面是通過ip地址去掉一個(gè)節(jié)點(diǎn)的操作:

Java代碼 收藏代碼
    1. curl-XPUTlocalhost:9200/_cluster/settings-d'{
    2. "transient":{
    3. "cluster.routing.allocation.exclude._ip":"10.0.0.1"
    4. }
    5. }'

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长泰县| 娄烦县| 神农架林区| 上蔡县| 武夷山市| 巴楚县| 保定市| 茶陵县| 焦作市| 岑溪市| 佛冈县| 罗山县| 奉新县| 怀宁县| 台州市| 休宁县| 尉氏县| 吉林省| 南靖县| 合作市| 镇平县| 湟中县| 苏尼特左旗| 金昌市| 家居| 桦南县| 岳阳市| 沧源| 任丘市| 河西区| 乌拉特后旗| 清新县| 阳江市| 五家渠市| 高平市| 漳平市| 万载县| 绥芬河市| 舟山市| 望城县| 万载县|