数一数SolrCloud5.5遇到的几个坑。。。

突然发现关于SolrCloud5.5部署的那片文章截图没显示,本人比较懒,不去修改了,争取这篇不用图。
SolrCloud搭建好了之后,按照网上搜集的资料,新建了一个collection,其中配置文件是拷贝的solr-5.5.1/server/solr/configsets/basic_configs/conf下面的基础配置文件,然后将managed-schema更改成schema.xml,里面的内容本人没有修改,schema的配置方式在solrconfig.xml里面采用的默认的,没有修改成solr4.0版本的手动的修改模式。collection创建成功之后,大概是不小心重启了solr,记不清了,然后schema.xml确实在zk上的配置文件下变成了schema.xml.bk
,此时又新生成了managed-schema文件,这个文件里面的内容与schema.xml.bk一样,这时候本人打算增加一个索引字段,通过SolrCloud的web界面,选中schema,右侧AddFiled,添加字段,添加失败,原因是找不到schema.xml配置文件,确实找不到因为它已经变成schema.xml.bk了,纠结了好一阵子,决定既然缺少那要不再出传一个上去?于是本人传了一个手动修改过的schema.xml到zk上,同样关联了一下这个配置文件与collection,结果很显然,本人修改过的内容(增加的索引filed)并没有加入到managed-schema里面,这里提醒大家,默认配置下,solr5.5索引真正用的是managed-schema,不是schema.xml,所以结论就是:手动修改过的schema.xml不会起作用,修改过的内容也不会同步到managed-schema里面,更不会同步到schema.xml.bk了,无论是重启solr还是重启ZK,但是有了这个新上传的schema.xml文件,就可以通过schema的AddFiled增加字段到managed-schema。
本人手动修改过上传的schema.xml,也没有变schema.xml.bk。。。不知道重新建一个collection,上传修改过的schema.xml,内容会不会同步到managed-schema,重启solr之后然后变成schema.xml.bk,写完博客就去实验一下。。
本人用的MR建立的solrcloud的索引,因为API的变化需要修改一些小地方,主要的就是CloudSolrServer变成了CloudSolrClient,仅仅修改这个代码运行会出现Bad return type的错误
Caused by: java.lang.VerifyError: Bad return type
Exception Details:
Location:
org/apache/solr/client/solrj/impl/HttpClientUtil.createClient(Lorg/apache/solr/common/params/SolrParams;)Lorg/apache/http/impl/client/CloseableHttpClient; @57: areturn
Reason:
Type ‘org/apache/http/impl/client/SystemDefaultHttpClient’ (current frame, stack[0]) is not assignable to ‘org/apache/http/impl/client/CloseableHttpClient’ (from method signature)
Current Frame:
bci: @57
flags: { }
locals: { ‘org/apache/solr/common/params/SolrParams’, ‘org/apache/solr/common/params/ModifiableSolrParams’, ‘org/apache/http/impl/client/SystemDefaultHttpClient’ }
stack: { ‘org/apache/http/impl/client/SystemDefaultHttpClient’ }
Bytecode:
0x0000000: bb00 0359 2ab7 0004 4cb2 0005 b900 0601
0x0000010: 0099 001e b200 05bb 0007 59b7 0008 1209
0x0000020: b600 0a2b b600 0bb6 000c b900 0d02 00b8
0x0000030: 000e 4d2c 2bb8 000f 2cb0
Stackmap Table:
append_frame(@47,Object[#143])
需要更改一下CloudSolrClient的构造函数,选择带两个参数的这个CloudSolrClient(zk,httpClient);就可以了,至于httpClient,可以加上下面这一句
SystemDefaultHttpClient httpClient = new SystemDefaultHttpClient();

好了。。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值