2014-09-26 92 views
0

当我启动elasticsearch(使用logstash)时,它会占用100%的CPU。elasticsearch logstash 100%cpu actives shards 300 ++

如果我检查集群的状态,我可以看到

{ 
    "cluster_name": "elasticsearch", 
    "status": "red", 
    "timed_out": false, 
    "number_of_nodes": 2, 
    "number_of_data_nodes": 1, 
    "active_primary_shards": 301, 
    "active_shards": 301, 
    "relocating_shards": 0, 
    "initializing_shards": 4 
    "unassigned_shards": 300 
} 

为什么我有这么多积极的碎片? 我可以在哪里配置它?

我试图配置线程池,该cahe和内存(https://gist.github.com/reyjrar/4364063

我试图

curl -XPUT 'localhost:9200/_settings' -d ' {"index.routing.allocation.disable_allocation": false}' 

我kibana很慢,我不能再使用它。

我有30天的索引45天的日志。

回答

0

鉴于您拥有的天数,碎片的数量是正常的。默认情况下,logstash将创建包含5个主分片的索引。

您的ES群集健康状况为红色。你的所有节点都启动并运行了吗?它说只有2个数据节点已经启动,这是预期的吗?

你在logstash里面运行嵌入式ES吗?如果是这样,那么仅建议仅用于开发/测试用途,并且您应该使用独立集群

+0

我在单个服务器上运行ES。我有两个具有相同IP的节点。 你有一些技巧来配置ES在小型服务器上运行。 我会尝试使用独立群集。一个服务器,一个节点,一个节点数据,不复制。 我应该把碎片数​​减少到3吗?它是否节省内存和CPU? (我也会减少历史天数,并逐日增加测试限制) – 2014-09-29 02:34:09