2013-04-22 48 views
-2

我已经尝试了使用Amazon EC2中的3个节点的弹性搜索群集配置。但在调用后,我得到了UnavailableShardsException $type->addDocument($doc);弹性搜索群集配置中的UnavailableShardsException

以下是custer中3个节点中每个节点的配置。请帮忙 !

Node1 
===== 
cluster.name: MyCluster 
node.name: node1 
node.master: true 
node.data: true 
# index.number_of_shards: 5 //Not confugured this, to use the default value 5 
index.number_of_replicas: 2 
transport.tcp.port: 9300 
http.port: 9200 

Node2 
===== 
cluster.name: MyCluster 
node.name: node2 
node.master: false 
node.data: true 
# index.number_of_shards: 5 //Not confugured this, to use the default value 5 
index.number_of_replicas: 2 
transport.tcp.port: 9301 
http.port: 9201 

Node3 
===== 
cluster.name: MyCluster 
node.name: node3 
node.master: false 
node.data: true 
# index.number_of_shards: 5 //Not confugured this, to use the default value 5 
index.number_of_replicas: 2 
transport.tcp.port: 9302 
http.port: 9202 
+1

您是否正在同一个EC2实例上运行所有3个节点? – imotov 2013-05-01 12:16:44

+0

不,具有相同配置的3个不同的EC2实例。 – Harikrishnan 2013-05-02 03:31:04

回答

3

Amazon EC2上不支持组播,所以集群的功能,你需要为使用unicastEC2 discovery plugin。我建议从单播开始,因为它通常更容易设置。由于所有3个节点都在不同的实例上运行,因此它们都可以配置相同的端口(9300和9200)。如果仍然有问题,请在logging.yml中取消注释以下行,请重新启动所有三台服务器并发布链接,以便在此处记录来自所有3台服务器的文件。

#discovery: TRACE