如何从 zookeeper 下载 Solr 集合配置
How to download Solr collection config from zookeeper
我在 solrcloud 中有一个集合,它是使用 zookeeper 管理的配置创建的,我想要用于创建该集合的所有集合配置文件。以下是我找到的选项:
从 Solrcloud UI 手动复制所有文件。
solrUI->cloud->tree->/collections/<collection-name>
从 zookeeper 下载文件
/opt/solr/server/scripts/cloud-scripts/zkcli.sh -cmd downconfig -zkhost <zk hosts>/usecasedir -confname <configuration name> -confdir <dir to download>
第二个选项会节省我很多时间,但这里的问题是我的 zookeeper 有大量的配置列表,我不确定使用哪个配置目录来创建集合。
有什么方法可以找出创建集合时使用的集合配置吗?
配置集通常位于名为 /configs 的目录中。如果 zookeeper 专用于 solr,这通常位于顶层,如果它被多个应用程序使用,则通常将配置“zk chroot”到子目录。
一旦你在 zookeeper 中找到正确的位置,configs 目录中的一个目录应该与管理 UI 下 Collections > name_of_your_collection [=13] 中显示的名称 "config-name" 相匹配=]
如果您的项目使用 gradle,则可以通过插件(免责声明:我写了这个插件)
https://plugins.gradle.org/plugin/com.needhamsoftware.solr-gradle
然而,还有一个额外的问题需要注意,如果集合使用托管模式,则使用的实际模式不会在 schema.xml 中,而是在名为 "managed-schema" 的文件中
如果需要,可以通过 Schema Rest API, so "files used to create the collection" is a bit fuzzy in that respect, but the managed_schema can be renamed to schema.xml and the solr config modified to take things out of managed 模式添加字段。
用于创建集合的配置信息存储在 zk 本身中。一些 bash 脚本(使用强大的 jq 实用程序)足以满足您的需求:
查找用于给定 XXX 集合的配置:
CONFIGNAME=$(curl -L -s "http://localhost:8983/solr/admin/zookeeper?detail=true&path=/collections/XXX" | jq '.znode.data' | cut -d ":" -f2 | tr -d '}"\')
现在下载配置:
/opt/solr/bin/solr zk downconfig -n $CONFIGNAME -d config$CONFIGNAME -z localhost:2181
我在 solrcloud 中有一个集合,它是使用 zookeeper 管理的配置创建的,我想要用于创建该集合的所有集合配置文件。以下是我找到的选项:
从 Solrcloud UI 手动复制所有文件。
solrUI->cloud->tree->/collections/<collection-name>
从 zookeeper 下载文件
/opt/solr/server/scripts/cloud-scripts/zkcli.sh -cmd downconfig -zkhost <zk hosts>/usecasedir -confname <configuration name> -confdir <dir to download>
第二个选项会节省我很多时间,但这里的问题是我的 zookeeper 有大量的配置列表,我不确定使用哪个配置目录来创建集合。
有什么方法可以找出创建集合时使用的集合配置吗?
配置集通常位于名为 /configs 的目录中。如果 zookeeper 专用于 solr,这通常位于顶层,如果它被多个应用程序使用,则通常将配置“zk chroot”到子目录。
一旦你在 zookeeper 中找到正确的位置,configs 目录中的一个目录应该与管理 UI 下 Collections > name_of_your_collection [=13] 中显示的名称 "config-name" 相匹配=]
如果您的项目使用 gradle,则可以通过插件(免责声明:我写了这个插件)
https://plugins.gradle.org/plugin/com.needhamsoftware.solr-gradle
然而,还有一个额外的问题需要注意,如果集合使用托管模式,则使用的实际模式不会在 schema.xml 中,而是在名为 "managed-schema" 的文件中
如果需要,可以通过 Schema Rest API, so "files used to create the collection" is a bit fuzzy in that respect, but the managed_schema can be renamed to schema.xml and the solr config modified to take things out of managed 模式添加字段。
用于创建集合的配置信息存储在 zk 本身中。一些 bash 脚本(使用强大的 jq 实用程序)足以满足您的需求:
查找用于给定 XXX 集合的配置:
CONFIGNAME=$(curl -L -s "http://localhost:8983/solr/admin/zookeeper?detail=true&path=/collections/XXX" | jq '.znode.data' | cut -d ":" -f2 | tr -d '}"\')
现在下载配置:
/opt/solr/bin/solr zk downconfig -n $CONFIGNAME -d config$CONFIGNAME -z localhost:2181