ZooKeeper 实用程序
提供了一个 ZooKeeper 命令行界面 (CLI) 脚本,可让你直接与存储在 ZooKeeper 中的 Solr 配置文件进行交互。
虽然 Solr 的管理界面包括专门用于 SolrCloud 集群状态的页面,但它不允许你下载或修改相关的配置文件。
有关使用管理界面屏幕的更多信息,请参见部分 云屏幕。 |
server/scripts/cloud-scripts
中的 ZooKeeper CLI 脚本允许你将配置信息上传到 ZooKeeper。它还提供了一些其他命令,让你可以将集合集链接到集合、创建 ZooKeeper 路径或清除它们,以及将配置从 ZooKeeper 下载到本地文件系统。
zkCli.sh
脚本提供的许多功能也由 Solr 控制脚本 提供,它可能更熟悉,因为启动脚本 ZooKeeper 维护命令与 Unix 命令非常相似。
Solr 的 zkcli.sh 与 ZooKeeper 的 zkCli.sh
Solr 提供的 ZooKeeper 的 |
使用 Solr 的 ZooKeeper CLI
使用 help
选项从脚本本身获取可用命令的列表,如 ./server/scripts/cloud-scripts/zkcli.sh help
。
zkcli.sh
(用于 Unix 环境)和 zkcli.bat
(用于 Windows 环境)都支持以下命令行选项
-cmd <arg>
-
要执行的 CLI 命令。此参数是必需的。支持以下命令
-
bootstrap
-
upconfig
-
downconfig
-
linkconfig
-
makepath
-
get
和getfile
-
put
和putfile
-
clear
-
list
-
ls
-
clusterprop
-
-z
或-zkhost <locations>
-
ZooKeeper 主机地址。此参数对于所有 CLI 命令都是必需的。
-c
或-collection <name>
-
对于
linkconfig
:集合的名称。 -d
或-confdir <path>
-
对于
upconfig
:配置文件目录。对于 downconfig:从 ZooKeeper 提取的文件的目标位置 -h
或-help
-
显示帮助文本。
-n
或-confname <arg>
-
对于
upconfig
、linkconfig
、downconfig
:配置集的名称。 -r
或-runzk <port>
-
通过传递 Solr 运行端口在内部运行 ZooKeeper;仅适用于一台机器上的集群。
-s
或-solrhome <path>
-
对于
bootstrap
或使用-runzk
时:必需的 solrhome 位置。 -name <name>
-
对于
clusterprop
:必需的集群属性名称。 -val <value>
-
对于
clusterprop
:集群属性值。如果未指定,将使用null 作为值。
短形式参数选项可以使用单破折号指定(例如, 长形式参数选项可以使用单破折号(例如, |
ZooKeeper CLI 示例
下面是一些使用 zkcli.sh
CLI 的示例,假设您已经启动了 SolrCloud 示例(bin/solr -e cloud -noprompt
)
如果您使用的是 Windows 机器,只需在这些示例中将 zkcli.sh
替换为 zkcli.bat
。
上传配置目录
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd upconfig -confname my_new_config -confdir server/solr/configsets/_default/conf
从现有的 solr.home 引导 ZooKeeper
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd bootstrap -solrhome /var/solr/data
使用 chroot 引导
在 |
将任意数据放入新的 ZooKeeper 文件
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd put /my_zk_file.txt 'some data'
将本地文件放入新的 ZooKeeper 文件
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd putfile /my_zk_file.txt /tmp/my_local_file.txt
将集合链接到配置集
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd linkconfig -collection gettingstarted -confname my_new_config
创建新 ZooKeeper 路径
在第一次集群启动前,这对于在 ZooKeeper 中创建 chroot 路径很有用。
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd makepath /solr
设置集群属性
此命令将在 clusterprops.json
中添加或修改单个集群属性。使用此命令代替通常的 getfile → edit → putfile 循环。
与集合 API 上的 CLUSTERPROP 命令不同,此命令不需要正在运行的 Solr 集群。
./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd clusterprop -name urlScheme -val https