单机模式运行Solr使用包功能时连接zookeeper报空指针异常问题
报错原因
Solr 8.x及以上版本的package管理功能默认适配SolrCloud模式,单机模式下未配置ZooKeeper连接地址,执行solr package相关命令时,工具会默认初始化云模式的PackageManager,读取ZooKeeper连接串时获取到空值,触发空指针异常。
解决方案
- 方案1:执行命令时显式指定单机Solr地址
执行package相关命令时追加--solr-url参数指向本地运行的单机Solr实例即可,示例如下:# 查看可用包 /opt/solr/bin/solr package list-available --solr-url http://localhost:8983/solr # 安装指定包 /opt/solr/bin/solr package install [包名] --solr-url http://localhost:8983/solr - 方案2:配置默认环境变量省去重复传参
在Solr配置文件solr.in.sh(默认路径为/var/solr/solr.in.sh)中新增如下配置:
保存后重载配置或重启Solr服务,后续执行package命令无需再手动追加SOLR_URL=http://localhost:8983/solr--solr-url参数。 - 方案3:切换为SolrCloud模式(按需选择)
若后续有集群扩展需求,可以将单机Solr切换为SolrCloud模式,配置内置或外置ZooKeeper后,package功能可直接正常使用,无需额外配置参数。
内容的提问来源于stack exchange,提问作者Googlebot
相关产品推荐
相关产品推荐

