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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示