SolrCloud 5.5.5 + Zookeeper + HDFS使用

Posted enzodin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SolrCloud 5.5.5 + Zookeeper + HDFS使用相关的知识,希望对你有一定的参考价值。

安装sol r

三个节点192.168.1.231,192.168.1.234,192.168.1.235

下载安装包solr.tar.gz

解压 tar -zxvf solr.tar.gz

配置ZK

编辑solr.in.sh

修改ZK_HOST

ZK_HOST="192.168.1.231:2181,192.168.1.232:2181,192.168.1.233:2181"

修改SOLR_HOST(所在节点主机IP)

SOLR_HOST="192.168.1.235"

启动

/bin/solr start

浏览器请求 192.168.1.231:8983

索引数据存本地模式

使用ZK管理Solr的配置文件

准备配置文件

在server/solr/configsets下新建文件夹tag_configs,将configsets下的basic_configs/conf拷贝到tag_configs下

修改managed-schema

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="rowkey" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="tags" type="string" indexed="true" stored="true" required="true" multiValued="true" />

上传配置文件到ZK

/usr/local/test/solr-5.5.5/server/scripts/cloud-scripts/zkcli.sh -zkhost 192.168.1.231:2181, 192.168.1.232:2181, 192.168.1.233:2181
-cmd upconfig -confdir /usr/local/test/solr-5.5.5/server/solr/configsets/tag_configs/conf -confname tagCollection

创建Collection

curl "http://192.168.1.235:8983/solr/admin/collections
?action=CREATE&name=tagCollection&numShards=3&replicationFactor=3&maxShardsPerNode=3&collection.configName=tagCollection"

成功后浏览器查看

技术分享图片

成功。

补充

ZK删除配置文件

[[email protected] ~]# /usr/hdp/2.6.1.0-129/zookeeper/bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 1] ls /configs
[tagcollection, tagCollection, test]
[zk: localhost:2181(CONNECTED) 3] rmr /configs/tagcollection

删除collection

http://192.168.1.235:8983/solr/admin/collections?action=DELETE&name=tagcollection

 

数据索引存储在HDFS

准备配置文件

在以上基础上修改solrconfig.xml

找到<directoryFactory>标签,修改如下

<directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory">
   <str name="solr.hdfs.confdir">/etc/hadoop/conf</str>
   <str name="solr.hdfs.home">hdfs://mycluster/solr</str>
   <bool name="solr.hdfs.blockcache.enabled">true</bool>
   <int name="solr.hdfs.blockcache.slab.count">1</int>
   <bool name="solr.hdfs.blockcache.direct.memory.allocation">true</bool>
   <int name="solr.hdfs.blockcache.blocksperbank">16384</int>
   <bool name="solr.hdfs.blockcache.read.enabled">true</bool>
   <bool name="solr.hdfs.nrtcachingdirectory.enable">true</bool>
   <int name="solr.hdfs.nrtcachingdirectory.maxmergesizemb">16</int>
   <int name="solr.hdfs.nrtcachingdirectory.maxcachedmb">192</int>
</directoryFactory>

solr.hdfs.confdir参数是Hadoop配置文件路径

solr.hdfs.home参数是solr的索引数据所存放的位置

注意:此处如果使用nameservice(mycluster),则必须要指定solr.hdfs.confdir,否则会报错

如果不加solr.hdfs.confdir,solr.hdfs.home需要配置为192.168.1.231:8020的形式。

 

将<lockType>${solr.lock.type:native}</lockType>? 修改为?

<lockType>${solr.lock.type:hdfs}</lockType>

接下来操作和上边一样,上传配置文件到ZK,创建collection。

 

 

 

 

技术分享图片


以上是关于SolrCloud 5.5.5 + Zookeeper + HDFS使用的主要内容,如果未能解决你的问题,请参考以下文章

SolrCloud-5.2.1 集群部署及测试

20170418 学习solr cloud

Solrcloud(Solr集群)

SolrCloud的介绍

Solr集群(即SolrCloud)搭建与使用

solrcloud(solr集群版)安装与配置