ECM
ECM
总版主
总版主
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:1009回复:0

solr-6.4.2 学习(七)Solr控制脚本参考

楼主#
更多 发布于:2017-04-15 17:47
开始命令
bin/solr start [options]
bin/solr start -help

开始命令-可用参数

-a "<string>"
使用附加的JVM参数启动Solr,例如以-X开头的参数。如果您传递以“-D”开头的JVM参数,则可以省略-a选项。
bin/solr start -a "-Xdebug -Xrunjdwp:transport=dt_socket, server=y,suspend=n,address=1044"
-cloud
在SolrCloud模式下启动Solr,还将启动Solr附带的嵌入式ZooKeeper实例。
这个选项可以简单地缩短-c。
如果您已经运行了ZooKeeper系列,而不是使用嵌入式(单节点)ZooKeeper,那么您还应该传递-z参数。

bin/solr start -c


-d <dir>
定义服务器目录,默认为server(as in $SOLR_HOME/server)。重写此选项是不常见的。在同一主机上运行多个Solr实例时,对于每个实例使用相同的服务器目录,并使用-s选项使用唯一的Solr主目录。
bin/solr start -d newServerDir


-e <name>

以示例配置启动Solr。提供这些示例可帮助您更快地开始使用Solr,或者只是尝试一个特定的功能。
可用的选项有:

cloud
techproducts
dih
schemaless
bin/solr start -e schemaless


-f
在前台启动Solr 使用-e选项运行示例时,不能使用此选项。
bin/solr start -f
-h <hostname>
启动Solr与定义的主机名。如果没有指定,将假定“localhost”。
bin/solr start -h search.mysolr.com

-m <memory>
启动具有定义值的Solr作为JVM的最小(-Xms)和最大(-Xmx)堆大小。
bin/solr start -m 1g


-noprompt
启动Solr并禁止用另一个选项看到的任何提示。这将具有隐含接受所有默认值的副作用。例如,当使用“cloud”示例时,交互式会话将引导您完成SolrCloud群集的多个选项。如果要接受所有默认值,您可以简单地将-noprompt选项添加到请求中。
bin/solr start -e cloud -noprompt


-p <port>
在定义的端口上启动Solr。如果没有指定,将使用'8983'。
bin/solr start -p 8655

-s <dir>
设置solr.solr.home系统属性; Solr将在此目录下创建核心目录。这允许您在重复使用-d参数设置的相同服务器目录的同一主机上运行多个Solr实例。如果设置,指定的目录应包含solr.xml文件,除非ZooKeeper中存在solr.xml。默认值为server/solr。运行示例(-e)时忽略此参数,因为solr.solr.home取决于运行的示例。
bin/solr start -s newHome

-v
更冗长 这将log4j的记录级别从...更改INFO为DEBUG。具有与您相应编辑的效果相同的效果log4j.properties。bin/solr start -f -v
-q
更安静 这会将log4j的日志记录级别更改INFO为WARN,具有与您相应编辑的效果相同的效果log4j.properties。在生产设置中,您可能希望将日志记录限制为警告和错误,这可能很有用。
bin/solr start -f -q

-V

从起始脚本启动具有详细消息的Solr。
bin/solr start -V

-z
<zkHost>
使用定义的ZooKeeper连接字符串启动Solr。此选项仅与-c选项一起使用,以SolrCloud模式启动Solr。如果未提供此选项,Solr将启动嵌入式ZooKeeper实例,并将该实例用于SolrCloud操作。
bin/solr start -c -z server1:2181,server2:2181

-force

如果尝试以root用户身份启动Solr,则脚本将退出,并以“root”方式运行Solr可能会导致问题。可以使用-force参数覆盖此警告。
sudo bin/solr start -force


默认下面两行命令等价:

bin/solr start
bin/solr start -h localhost -p 8983 -d server -s solr -m 512m


设置Java系统属性
bin / solr脚本将以-D开头的任何其他参数传递给JVM,这允许您设置任意的Java系统属性。
例如,要将自动软提交频率设置为3秒,可以执行以下操作:
bin/solr start -Dsolr.autoSoftCommit.maxTime=3000


SolrCloud模式-c和-cloud选项是等效的:
bin/solr start -cbin/solr start -cloud

如果指定ZooKeeper连接字符串,例如-z 192.168.1.4:2181,则Solr将连接到ZooKeeper并加入集群。
如果在云模式下启动Solr时不指定-z选项,则Solr将启动一个嵌入式的ZooKeeper服务器,监听Solr端口+ 1000,即,如果Solr在端口8983上运行,则嵌入的ZooKeeper将监听9983端口。
当以SolrCloud模式启动时,交互式脚本会话将提示您选择要使用的配置集。



以示例配置运行bin/solr start -e <name>

示例配置允许您使用镜像您希望使用Solr完成的配置进行快速入门。
每个示例使用托管模式启动Solr,它允许使用Schema API进行模式编辑,但不允许手动编辑模式文件如果您希望schema.xml直接手动修改文件,则可以按照描述更改默认值在  SolrConfig中的模式工厂定义部分。除非在下面的描述中另有说明,否则示例不能启用SolrCloud或无模式模式。
提供以下示例:could:此示例在单个计算机上启动1-4节点SolrCloud集群。选择时,交互式会话将开始引导您选择要使用的初始配置集,示例集群的节点数,要使用的端口以及要创建的集合的名称。
使用此示例时,可以从任何可用的配置中进行选择$SOLR_HOME/server/solr/configsets。

techproducts:此示例以独立模式启动Solr,并为目录中包含的示例文档设计模式  $SOLR_HOME/example/exampledocs。使用的配置集可以在中找到  $SOLR_HOME/server/solr/configsets/sample_techproducts_configs。

dih:此示例启动了独立模式,启用了DataImportHandler(DIH)和dataconfig.xml 为DIH支持的不同类型数据(如数据库内容,电子邮件,RSS源等)预配置的几个示例文件。所使用的配置集定制为DIH,并在其中找到$SOLR_HOME/example/example-DIH/solr/conf。

schemaless:此示例使用托管模式以独立模式启动Solr,如SolrConfig中的“ 模式工厂定义 ”一节  所述,并提供了非常小的预定义模式。Solr将以 这种配置运行在 Schemaless模式中,Solr将立即在架构中创建字段,并且将猜测在传入文档中使用的字段类型。使用的配置集可以在中找到  $SOLR_HOME/server/solr/configsets/data_driven_schema_configs。

重启命令
bin/solr restart [options]
bin/solr restart -help


停止命令

停止命令向运行的Solr节点发送一个STOP请求,允许它正常关闭。该命令将等待5秒钟,Solr可以优雅地停止,然后强行杀死进程(kill -9)。
bin/solr stop [options]
bin/solr stop -help


停止命令-可用参数
-p <port>
停止Solr在给定端口上运行。如果您运行多个实例或正在以SolrCloud模式运行,则需要在单独的请求中指定端口或使用-all选项。
bin/solr stop -p 8983


-all
停止所有运行的具有有效PID的Solr实例。
bin/solr stop -all
-k <key>
停止键用于防止停止Solr无意中; 默认为“solrrocks”。
bin/solr stop -k solrrocks


版本查看命令

$ bin/solr version
X.Y.0

status命令
status命令显示在本地系统上运行的任何Solr节点的基本JSON格式的信息。status命令使用SOLR_PID_DIR环境变量来定位Solr进程ID文件以查找运行的Solr实例; SOLR_PID_DIR变量默认为bin目录。
bin/solr status
输出将包括集群的每个节点的状态,如下例所示:

Found 2 Solr nodes:
 
Solr process 39920 running on port 7574
{
  "solr_home":"/Applications/Solr/example/cloud/node2/solr/",
  "version":"X.Y.0",
  "startTime":"2015-02-10T17:19:54.739Z",
  "uptime":"1 days, 23 hours, 55 minutes, 48 seconds",
  "memory":"77.2 MB (%15.7) of 490.7 MB",
  "cloud":{
    "ZooKeeper":"localhost:9865",
    "liveNodes":"2",
    "collections":"2"}}
 
Solr process 39827 running on port 8865
{
  "solr_home":"/Applications/Solr/example/cloud/node1/solr/",
  "version":"X.Y.0",
  "startTime":"2015-02-10T17:19:49.057Z",
  "uptime":"1 days, 23 hours, 55 minutes, 54 seconds",
  "memory":"94.2 MB (%19.2) of 490.7 MB",
  "cloud":{
    "ZooKeeper":"localhost:9865",
    "liveNodes":"2",
    "collections":"2"}}



健康检查



当在SolrCloud模式下运行时,healthcheck命令为集合生成JSON格式的运行状况报告。健康报告提供有关集合中所有分片的每个副本的状态的信息,包括已提交文档的数量及其当前状态。
bin/solr healthcheck [options]
bin/solr healthcheck -help


healthcheck命令----可用参数
-c <collection>
针对(必需)运行健康检查的集合的名称。
bin/solr healthcheck -c gettingstarted
-z <zkhost>
ZooKeeper连接字符串,默认为localhost:9983。如果您在8983以外的端口上运行Solr,则必须指定ZooKeeper连接字符串。默认情况下,这将是Solr端口+ 1000。
bin/solr healthcheck -z localhost:2181


以下是使用非标准ZooKeeper连接字符串的健康检查请求和响应示例,其中2个节点正在运行:



$ bin/solr healthcheck -c gettingstarted -z localhost:9865
 
{
  "collection":"gettingstarted",
  "status":"healthy",
  "numDocs":0,
  "numShards":2,
  "shards":[
    {
      "shard":"shard1",
      "status":"healthy",
      "replicas":[
        {
          "name":"core_node1",
          "url":"http://10.0.1.10:8865/solr/gettingstarted_shard1_replica2/",
          "numDocs":0,
          "status":"active",
          "uptime":"2 days, 1 hours, 18 minutes, 48 seconds",
          "memory":"25.6 MB (%5.2) of 490.7 MB",
          "leader":true},
        {
          "name":"core_node4",
          "url":"http://10.0.1.10:7574/solr/gettingstarted_shard1_replica1/",
          "numDocs":0,
          "status":"active",
          "uptime":"2 days, 1 hours, 18 minutes, 42 seconds",
          "memory":"95.3 MB (%19.4) of 490.7 MB"}]},
    {
      "shard":"shard2",
      "status":"healthy",
      "replicas":[
        {
          "name":"core_node2",
          "url":"http://10.0.1.10:8865/solr/gettingstarted_shard2_replica2/",
          "numDocs":0,
          "status":"active",
          "uptime":"2 days, 1 hours, 18 minutes, 48 seconds",
          "memory":"25.8 MB (%5.3) of 490.7 MB"},
        {
          "name":"core_node3",
          "url":"http://10.0.1.10:7574/solr/gettingstarted_shard2_replica1/",
          "numDocs":0,
          "status":"active",
          "uptime":"2 days, 1 hours, 18 minutes, 42 seconds",
          "memory":"95.4 MB (%19.4) of 490.7 MB",
          "leader":true}]}]}


Collections 和 Cores

bin/solr脚本还可以帮助您创建新集合(在SolrCloud模式下)或内核(以独立模式)或删除集合。



create命令
create命令检测Solr正在运行的模式(独立或SolrCloud),然后根据模式创建核心或集合。
bin/solr create [options]
bin/solr create -help

create命令-可用参数

-c <name>
要创建的核心或集合的名称(必需)。
bin/solr create -c mycollection



-d <confdir>
配置目录。默认为data_driven_schema_configs。
bin/solr create -d basic_configs


-n <configName>
配置名称。这个默认值与核心或集合的名称相同。
bin/solr create -n basic


-p <port>

将本地Solr实例的端口发送到create命令; 默认情况下,脚本尝试通过查找运行的Solr实例来检测端口。如果您在同一主机上运行多个独立的Solr实例,则此选项很有用,因此要求您具体说明创建核心的实例。
bin/solr create -p 8983


-s <shards>
-shards
拆分集合的分片数,默认为1; 仅当Solr以SolrCloud模式运行时才适用。
bin/solr create -s 2


-rf <replicas>
-replicationFactor
集合中每个文档的份数。默认值为1(无复制)。
bin/solr create -rf 2


-force
如果尝试以“root”用户身份运行create,则脚本将退出,并显示一条警告,即将Solr或Solr操作作为“root”导致问题。可以使用-force参数覆盖此警告。
bin/solr create -c foo -force




配置目录和SolrCloud

在SolrCloud创建集合之前,集合使用的配置目录必须上传到ZooKeeper。create命令支持集合和配置目录的工作原理。您需要做出的主要决定是是否应在多个集合中共享ZooKeeper中的配置目录。我们通过几个例子来说明配置目录在SolrCloud中的工作原理。
首先,如果您不提供-d或-n选项,则默认配置($SOLR_HOME/server/solr/configsets/data_driven_schema_configs/conf)将使用与集合相同的名称上传到ZooKeeper。
例如,下面的命令将导致  data_driven_schema_configs配置被上传到/configs/contacts在zookeeper:  bin/solr create -c contacts。
如果您创建另一个集合,通过这样做  bin/solr create -c contacts2,那么该目录的另一个副本  data_driven_schema_configs将被上传到ZooKeeper /configs/contacts2。对联系人集合的配置所做的任何更改都不会影响contacts2集合。简单地说,默认行为为您创建的每个集合创建一个唯一的配置目录副本。
您可以使用该-n选项覆盖ZooKeeper中配置目录的名称。
例如,命令bin/solr create -c logs -d basic_configs -n basic将将server/solr/configsets/basic_configs/conf目录上传  到ZooKeeper /configs/basic。
请注意,我们使用该-d选项指定与默认配置不同的配置。Solr提供了几个内置的配置server/solr/configsets。但是,您也可以使用该-d选项提供您自己的配置目录的路径。
例如,命令  bin/solr create -c mycoll -d /tmp/myconfigs将会上传/tmp/myconfigs到ZooKeeper下面/configs/mycoll 。要重申,配置目录以集合命名,除非您使用该-n选项覆盖它。
其他集合可以通过使用该-n选项指定共享配置的名称来共享相同的配置。
例如,以下命令将创建一个共享之前创建的基本配置的新集合:
bin/solr create -c logs2 -n basic。


数据驱动架构和共享配置
data_driven_schema_configs 当数据被索引时,  模式可以突变。因此,我们建议您不要在集合之间共享数据驱动配置,除非您确定所有集合都应该继承在将数据索引到其中一个集合时所做的更改。
delete命令
delete命令检测Solr正在运行的模式(独立或SolrCloud),然后根据需要删除指定的内核(独立)或集合(SolrCloud)。
bin/solr delete [options]
bin/solr delete -help
如果以SolrCloud模式运行,则delete命令将检查要删除的集合所使用的配置目录是否被其他集合使用。如果没有,那么配置目录也会从ZooKeeper中删除。
例如,如果您通过执行创建集合  bin/solr create -c contacts,那么delete命令  bin/solr delete -c contacts将检查  /configs/contacts配置目录是否被其他集合使用。如果没有,那么该  /configs/contacts 目录将从ZooKeeper中删除。
可用参数
-c <name>
要删除的核心/集合的名称(必需)。
bin/solr delete -c mycoll
-deleteConfig <true|false>

从ZooKeeper中删除配置目录。默认值为true。
如果另一个集合正在使用配置目录,那么即使传递-deleteConfig为true 也不会被删除。
bin/solr delete -deleteConfig false
-p <port>

本地Solr实例的端口发送删除命令。默认情况下,脚本尝试通过查找运行的Solr实例来检测端口。如果您在同一台主机上运行多个独立的Solr实例,则此选项很有用,因此要求您具体说明哪个实例从中删除内核。

bin/solr delete -p 8983

ZooKeeper操作bin / solr脚本允许某些操作影响ZooKeeper。这些操作仅适用于SolrCloud模式。这些操作可用作子命令,每个命令各有一组选项。bin/solr zk [sub-command] [options]bin/solr zk -help注意:Solr应该已经被启动至少一次,然后发出这些命令来初始化ZooKeeper,并使用zrnn Solr预期。一旦ZooKeeper被初始化,Solr不需要在任何节点上运行以使用这些命令。zk upconfig 命令--上传配置集使用该zk upconfig 命令将预配置的配置集或自定义配置集之一上传到ZooKeeper。可用参数(所有参数都是必需的)
-n <name>

在ZooKeeper中设置的配置名称。此命令将配置集上传到“配置”ZooKeeper节点,为其指定名称。
您可以通过云端屏幕在管理界面中查看所有上传的配置集。选择云 - >树 - >配置来查看它们。
如果指定了一个预先存在的配置集,它将在ZooKeeper中被覆盖。
-n myconfig
-d <configset dir>
配置设置为上传的路径。它应该在它下面有一个“conf”目录,依次包含solrconfig.xml等

如果只提供一个名称,$SOLR_HOME/server/solr/configsets将检查此名称。可以提供绝对路径。

-d directory_under_configsets
-d /path/to/configset/source
-z <zkHost>

ZooKeeper连接字符串。如果在solr.in.sh或定义了ZK_HOST,则不需要solr.in.cmd。
-z 123.321.23.43:2181
这个参数的一个例子是:
bin/solr zk upconfig -z 111.222.333.444:2181 -n mynewconfig -d /path/to/configset

下载一个配置集
使用该zk downconfig 命令将配置集从ZooKeeper下载到本地文件系统。
可用参数(所有参数都是必需的)
-n <name>
在ZooKeeper中设置的配置名称下载。管理UI云 - >树 - >配置节点列出所有可用的配置集。
-n myconfig
-d <configset dir>

将下载的配置集写入的路径。如果只提供一个名字,$SOLR_HOME/server/solr/configsets将是父母。也可以提供绝对路径。
在任一情况下,目的地的预先存在的配置将被覆盖!
-d directory_under_configsets -d /path/to/configset/destination
-z <zkHost>
ZooKeeper连接字符串。如果在solr.in.sh或定义了ZK_HOST,则不需要solr.in.cmd。
-z 123.321.23.43:2181

具有这个参数的这个命令的一个例子是:
bin/solr zk downconfig -z 111.222.333.444:2181 -n mynewconfig -d /path/to/configset
“最佳实践”是将您的配置集合以某种形式的版本控制作为系统记录。在这种情况下,downconfig 很少被使用。

在本地文件和ZooKeeper znodes之间复制
使用  zk cp 命令在ZooKeeper znodes和本地驱动器之间传输文件和目录。此命令将从本地驱动器复制到ZooKeeper,从ZooKeeper到本地驱动器,或从ZooKeeper复制到ZooKeeper。
可用参数
-r
可选的。做一个递归的副本。如果<src>有子项,则除非指定了-r,否则命令将失败。
-r
<src>
要复制的文件或路径。如果有前缀,zk:那么源被推定为ZooKeeper。如果没有前缀或前缀是'file:',这是本地驱动器。<src>或<dest>中的至少一个必须以' zk:' 为前缀,否则命令将失败。

zk:/configs/myconfigs/solrconfig.xml
file:/Users/apache/configs/src
<dest>
要复制的文件或路径。如果有前缀,zk:那么源被推定为ZooKeeper。如果没有前缀或前缀是'file:',这是本地驱动器。必须使用<src>或<dest>中的至少一个,zk:否则命令将失败。如果<dest>以斜杠字符结尾,则命名一个目录。
zk:/configs/myconfigs/solrconfig.xml
file:/Users/apache/configs/src
-z <zkHost>
ZooKeeper连接字符串。如果在solr.in.sh或定义了ZK_HOST,则不需要solr.in.cmd。
-z 123.321.23.43:2181

具有这个参数的这个命令的一个例子是:
将目录从本地递归到ZooKeeper。
bin/solr zk cp -r  file:/apache/confgs/whatever/conf zk:/configs/myconf -z 111.222.333.444:2181
将单个文件从ZooKeeper复制到本地。
bin/solr zk cp zk:/configs/myconf/managed_schema /configs/myconf/managed_schema -z 111.222.333.444:2181
从ZooKeeper中删除一个znode
使用该  zk rm 命令从ZooKeeper中删除一个znode(以及可选的所有子节点)
可用参数-r

可选的。执行递归删除。如果<path>有子项,则除非指定了-r,否则命令将失败。
-r

<path>

从ZooKeeper中删除的路径,无论是父节点还是叶节点。
安全检查有限,您不能删除'/'或'/ zookeeper'节点。
该路径被假定为ZooKeeper节点,不需要zk:前缀。

/configs
/configs/myconfigset
/configs/myconfigset/solrconfig.xml
-z <zkHost>
ZooKeeper连接字符串。如果在solr.in.sh或定义了ZK_HOST,则不需要solr.in.cmd。
-z 123.321.23.43:2181

具有这个参数的这个命令的一个例子是:
bin/solr zk rm -r /configs
bin/solr zk rm /configs/myconfigset/schema.xml
将一个ZooKeeper znode移动到另一个(重命名)
使用zk mv 命令移动(重命名)ZooKeeper znode
可用参数
<src>
要重命名的znode。该zk:假设前缀。
/configs/oldconfigset
<dest>
znode的新名称。该zk:假设前缀。
/configs/newconfigset
-z <zkHost>
ZooKeeper连接字符串。如果在solr.in.sh或定义了ZK_HOST,则不需要solr.in.cmd。
-z 123.321.23.43:2181

这个命令的一个例子是:
bin/solr zk mv /configs/oldconfigset /configs/newconfigset

列出一个ZooKeeper znode的孩子
使用该zk ls 命令查看znode的子项。
可用参数
-r
可选的。递归列出znode的所有后代。
-r
<path>
ZooKeeper上列出的路径。
/collections/mycollection

-z <zkHost>
ZooKeeper连接字符串。如果在solr.in.sh或定义了ZK_HOST,则不需要solr.in.cmd。
-z 123.321.23.43:2181

具有这个参数的这个命令的一个例子是:
bin/solr zk ls -r /collections/mycollection
bin/solr zk ls /collections
创建一个znode(支持chroot)
使用zk mkroot 命令创建一个znode。该命令的主要用例是支持ZooKeeper的“chroot”概念。但是,它也可以用于创建任意路径。
可用参数
<path>
ZooKeeper创建的路径。如果需要,将创建中间的znodes。即使没有指定,也会假定一个主要的斜线。
/solr
-z <zkHost>
ZooKeeper连接字符串。如果在solr.in.sh或定义了ZK_HOST,则不需要solr.in.cmd。
-z 123.321.23.43:2181

此命令的示例:
bin/solr zk mkroot /solr -z 123.321.23.43:2181
bin/solr zk mkroot /solr/production

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部