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

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

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

1
SOLR_HOST="192.168.1.235"

启动

1
/bin/solr start

浏览器请求 192.168.1.231:8983

索引数据存本地模式

使用ZK管理Solr的配置文件

准备配置文件

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

修改managed-schema

1
2
3
<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

1
/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<br> -cmd upconfig -confdir /usr/local/test/solr-5.5.5/server/solr/configsets/tag_configs/conf -confname tagCollection

创建Collection

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

成功后浏览器查看

成功。

补充

ZK删除配置文件

1
2
3
4
[root@node-231 ~]# /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

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

 

数据索引存储在HDFS

准备配置文件

在以上基础上修改solrconfig.xml

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

1
2
3
4
5
6
7
8
9
10
11
12
<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。

 

 

 

 

posted on   嘣嘣嚓  阅读(566)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示