【问题标题】:Datastax Enterprise 5.0.3 Solr High CPU and High I/O Usage On One Node While Others IdleDatastax Enterprise 5.0.3 Solr 一个节点 CPU 和 I/O 使用率高,而其他节点空闲
【发布时间】:2017-03-26 06:34:20
【问题描述】:

我的 Solr 数据中心中的一个 solr ode 导致高 CPU 和高 I/O。在某种程度上,它会影响我对其他 solr 节点的 solr 查询。当我停止节点导致高 cpu 时,我的查询会在正常时间响应。

感谢此链接https://github.com/patric-r/jvmtop 我能够获得该数据。我还看到节点索引某些东西,但 solr 数据中的其他节点没有负载。负载为 0-2,而故障节点的负载为 20。

1273 http-serveripaddress-8983-5 可运行 51.16% 1.87% 3821 http-serveripaddress-8983-14 可运行 50.41% 0.95% 1259 http-serveripaddress-8983-2 可运行 48.68% 2.49% 1295 http-serveripaddress-8983-7 可运行 48.10% 1.87% 3825 http-serveripaddress-8983-18 可运行 14.15% 0.75% 1308 http-serveripaddress-8983-9 可运行 14.13% 4.44% 3486 http-serveripaddress-8983-11 可运行 13.38% 1.04% 1258 http-serveripaddress-8983-1 可运行 12.52% 2.03% 1264 http-serveripaddress-8983-4 可运行 12.07% 1.68% 1296 http-serveripaddress-8983-8 可运行 12.04% 3.75%
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<schema name="autoSolrSchema" version="1.5">
<types>
<fieldType class="org.apache.solr.schema.StrField" name="StrField"/>
<fieldType class="org.apache.solr.schema.TrieDoubleField" name="TrieDoubleField"/>
<fieldType class="org.apache.solr.schema.TrieIntField" name="TrieIntField"/>
<fieldType class="org.apache.solr.schema.TrieDateField" name="TrieDateField"/>
<fieldType class="org.apache.solr.schema.TrieLongField" name="TrieLongField"/>
</types>
<fields>
<field indexed="true" multiValued="false" name="st" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="twd" stored="true" type="TrieDoubleField"/>
<field indexed="true" multiValued="false" name="ctr" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="us" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="tsb" stored="true" type="TrieDoubleField"/>
<field indexed="true" multiValued="false" name="btrg" stored="true" type="TrieIntField"/>
<field indexed="true" multiValued="false" name="cty" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="hc" stored="true" type="TrieIntField"/>
<field indexed="true" multiValued="false" name="isp" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="cnt" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="scid" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="cip" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="sid" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="pd" stored="true" type="TrieDateField"/>
<field indexed="true" multiValued="false" name="uid" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="lfn" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="devg" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="str" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="tcc" stored="true" type="TrieLongField"/>
<field indexed="true" multiValued="false" name="strg" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="dev" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="lfs" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="cid" stored="true" type="TrieIntField"/>
<field indexed="true" multiValued="false" name="btr" stored="true" type="TrieIntField"/>
</fields>
<uniqueKey>(cid,pd,scid,lfn,lfs,uid,sid,cip,strg,str,st,btrg,btr,hc,us,devg,dev,cnt,ctr,cty,isp)</uniqueKey>
</schema>

【问题讨论】:

    标签: performance solr datastax datastax-enterprise


    【解决方案1】:

    我猜您的分区会导致数据出现热点。一个常见的例子是在加载时间序列数据时按天或小时存储数据。最终效果是在存储桶期间一次只使用一个节点。

    要查看的另一件事是 max_solr_concurrency_per_core 的值。默认值可能太高——我通常建议将其降至 2——然后逐渐增加,直到服务器达到最大值。就内存、CPU 和磁盘而言,您的服务器硬件规格如何?

    【讨论】:

    • 我有 64GB ram 两个 raid1 磁盘,一个用于 solr 数据,一个用于 cassandra 数据,一个用于提交日志,32 核超线程。事实上,我的 max_solr_concurrency_per_core = 2 并且我很少有用户查询 solr。 @nom de plume
    • 我通常会尝试为 solr 数据获取 ssd - 但对于低负载,你所拥有的应该没问题。我建议接下来查看数据模型。你有架构吗?你能告诉我们数据是如何插入的吗?
    • 我也在考虑使用 ssd 但 Opscenter 说一个节点有 150 GB 的数据但是当我检查 solr 磁盘时它说 1.5 TB 的已用空间。我把我的模式之一。其他人使用相同的模式。 @Nom de plume
    • 我想我之前在 uniqueKey 中没有见过这么多字段!等效的 cql 模式显示为什么?基本上我想知道你的分区键是什么。
    猜你喜欢
    • 2017-02-19
    • 1970-01-01
    • 2020-03-27
    • 2022-06-23
    • 2016-07-28
    • 2021-10-03
    • 2014-11-26
    • 2020-11-19
    • 1970-01-01
    相关资源
    最近更新 更多