solrcloud 8.5.0 环境搭建

本文详细介绍了SolrCloud 8.5.0环境下集群的搭建过程,包括配置ZooKeeper,修改环境参数,分发配置到各节点,以及如何将索引存储从系统磁盘迁移至HDFS。通过具体步骤,读者可以了解到SolrCloud集群的配置和管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

solrcloud 8.5.0 环境搭建

solr 8.5.0 单机版搭建教程参考: https://blog.youkuaiyun.com/tianwenxue/article/details/105723904

solrcloud 是将多个 solr 服务作为集群。受限于 lucene 的底层机制,单个 solr 服务可以索引的文档数据最大为 int 的最大值,大概 21亿。solrcloud 的文档数取决于 solr 服务的个数。理论上,solrcloud 文档数 = solr 节点数 * 21亿。

1. solr zk 操作

solr8.5.0 提供了对zk的操作工具。 solrcloud 集群配置统一存储在zookeeper中。

./bin/solr zk upconfig|downconfig -d <confdir> -n <configName> [-z zkHost]
         solr zk cp [-r] <src> <dest> [-z zkHost]
         solr zk rm [-r] <path> [-z zkHost]
         solr zk mv <src> <dest> [-z zkHost]
         solr zk ls [-r] <path> [-z zkHost]
         solr zk mkroot <path> [-z zkHost]
1.1 在 zookeeper 初始化 solr 配置存储目录
bin/solr zk mkroot /solr  -z  host172.dataojo.com:2181

1. 服务器节点

host172.dataojo.com
host174.dataojo.com

1. 索引存储在系统磁盘

1.1 修改 host172.dataojo.com 节点上 solr 环境参数配置

vim bin/solr.in.sh


# 升级solr堆内存
SOLR_HEAD="8g" 

# 修改zk集群
ZK_HOST="host172.dataojo.com:2181,host173.dataojo.com:2181,host174.dataojo.com:2181/solr"

#修改主机节点名称,不同主机节点需要设置为不同名称
SOLR_HOST="host172.dataojo.com"

1.2 将配置好的solr环境分发到 host174.dataojo.com
# 分发到其他节点
scp -r solr-8.5.0 host174.dataojo.com:/opt/

# 在 host174.dataojo.com 节点修改 solr.in.sh配置
#修改主机节点名称
SOLR_HOST="host174.dataojo.com"

1.3 启动
#启动172节点
./bin/solr start

#启动174节点
./bin/solr start

1.4 访问 solr admin
通过浏览器访问 http://host172.dataojo.com:8983  或 http://host174.dataojo.com:8983
1.5 创建 collectioin

创建collection

1.6 通过 zkCli.sh 连接zookeeper集群,可以查看配置

# 查看  ls /solr/configs 目录下,可以看多已经默认上传了一份 _default名称配置
[_default]

2. 索引存储在hdfs

在创建 collection 是,使用默认配置项,会将数据存储在系统磁盘。如果希望更改数据存储位置,改为存储到 hadoop hdfs 文件系统中,可以复制一份配置信息,修改数据存储位置,然后上传到 zk中。

2.1 复制slor 默认配置信息
#切换到默认配置目录
cd /opt/software/solr-8.5.0/server/solr/configsets

#复制一份配置信息
cp -r _default _hdfs

vim _hdfs/conf/solrconfig.xml
<!--替换 <directoryFactory>...</directoryFactory> 配置修改成如下-->
<!--注意 hdfs 目录中的用户写入权限 -->
<directoryFactory name="DirectoryFactory" class="solr.HdfsDirectoryFactory">
  <str name="solr.hdfs.home">hdfs://host172.dataojo.com:9000/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>


<!-- 替换 <lockType>${solr.lock.type:native}/<lockType> 配置修改如下-->
<lockType>${solr.lock.type:hdfs}</lockType>
2.2 上传配置文件到zookeeper中
./bin/solr zk upconfig -d /opt/software/solr-8.5.0/server/solr/configsets/_hdfs/conf -n  _hdfs  -z host172.dataojo.com:2181/solr
2.3 使用新的配置创建 collection

可以通过 zookeeper 客户端查看 zookeeper 中 /solr/configs 信息。会发现新增加了配置,通过 solr admin 创建 collection 时,也会列出可用的配置信息。

多配置信息

创建完 collection 后,可以查看 hdfs 中的存储目录,会发现多了对应 collection 的目录,说明solr 的索引数据已经存储到 hdfs 中了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值