2014-08-27 34 views
1

我有一個elasticsearch集羣,包含跨3個區域(AB,C)分裂的10個節點。Elasticsearch路由分配的可能性和分片分配

的ES的配置文件包含:

cluster.routing.allocation.awareness.force.zone.values = "A,B,C"; 

我有一個包含=~ 283674文檔尺寸爲=~ 231MB單個索引(index1)。 這個指標的設置包括:

"number_of_replicas" : "2", "number_of_shards" : "5", 

碎片似乎整個區域,但它們不是均勻分佈的單一區域中正確分配(見下表,如C區| S =碎片,(P =小學| S =中學)

我能做些什麼,以正確分配我的碎片

++------+----------------------------------------------------+ 
||Zone A-----------------------------------------------------| 
||  |             || 
|| Node 1| S1 (P)           || 
|| +-----------------------------------------------------+ || 
||  |             || 
||  | S2 (S)   S4 (S)       || 
||  |             || 
|| Node 2|             || 
|| +-----------------------------------------------------+ || 
||  |             || 
||  |             || 
||  | S0 (S)   S3 (S)       || 
||  |             || 
|| Node 3|             || 
|-------+----------------------------------------------------| 
||Zone B-----------------------------------------------------| 
||  |             || 
||  | S0 (P)           || 
|| Node 4|             || 
|| +-----------------------------------------------------+ || 
||  |             || 
||  |             || 
||  | S3 (P)   S4 (P)       || 
|| Node 5|             || 
|| +-----------------------------------------------------+ || 
||  |             || 
||  |             || 
||  | S1 (S)   S2 (S)       || 
|| Node 6|             || 
|-------+----------------------------------------------------| 
||Zone C-----------------------------------------------------| 
||  |             || 
||  | S0 (S) S1 (S) S2 (P) S3 (S) S4 (S)  || 
|| Node 7|             || 
|| +------------------------------------------------------+ || 
||  |             || 
||  |             || 
||  |             || 
|| Node 8|             || 
|| +------------------------------------------------------+ || 
||  |             || 
||  |             || 
||  |             || 
|| Node 9|             || 
|| +------------------------------------------------------+ || 
||  |             || 
||  |             || 
||  -             || 
|| Node 10             || 
|------------------------------------------------------------| 
+------------------------------------------------------------+ 
+0

你是否在使用elasticsearch集羣管理員的任何一種用戶界面? (如elasticsearch-head) – eliasah 2014-08-27 15:16:14

回答

1

我通過強迫每個主機碎片的數量和改變初級/每指數二次數量固定的問題:?

index.number_of_shards = "5"; 
index.number_of_replicas = "3"; 
index.routing.allocation.total_shards_per_node = "2"; 

這會導致每個節點均勻分佈2個分片。