我的Solr Datacenter中的一个solr ode导致高CPU和高I / O.在某种程度上,它会影响我对其他solr节点的solr查询。当我停止节点导致高CPU时,我的查询在正常时间响应。
感谢此链接https://github.com/patric-r/jvmtop我能够获取该数据。我也看到节点索引的东西,但solr数据中的其他节点没有负载。负载为0-2,而故障节点有20负载。
1273 http-serveripaddress-8983-5 RUNNABLE 51.16% 1.87% 3821 http-serveripaddress-8983-14 RUNNABLE 50.41% 0.95% 1259 http-serveripaddress-8983-2 RUNNABLE 48.68% 2.49% 1295 http-serveripaddress-8983-7 RUNNABLE 48.10% 1.87% 3825 http-serveripaddress-8983-18 RUNNABLE 14.15% 0.75% 1308 http-serveripaddress-8983-9 RUNNABLE 14.13% 4.44% 3486 http-serveripaddress-8983-11 RUNNABLE 13.38% 1.04% 1258 http-serveripaddress-8983-1 RUNNABLE 12.52% 2.03% 1264 http-serveripaddress-8983-4 RUNNABLE 12.07% 1.68% 1296 http-serveripaddress-8983-8 RUNNABLE 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>
答案 0 :(得分:0)
我猜你的分区会导致你的数据出现热点。一个常见的例子是在加载时间序列数据时按天或小时进行填充。实际效果是在桶期间一次只能使用一个节点。
要看的另一件事是max_solr_concurrency_per_core的值。默认值可能太高 - 我通常建议将其降至2 - 然后逐渐增加,直到服务器最大化。在内存,cpus和磁盘方面,您的服务器硬件规格是什么?