启动和重启命令有不少选项让你运行在SolrCloud模式,使用示例配置,以hostname为开头或者非默认端口,指向本地ZooKeeper。node
bin/solr start [options] bin/solr start -help bin/solr restart [options] bin/solr restart -help
当使用重启命令,必须传入当初启动时的全部参数。Solr重启以前将被关闭。若是没有节点正在运行,restart将跳过关闭,直接启动Solr。服务器
参数 | 描述 | 示例 |
-a "<string>" | 使用JVM参数启动Solr,例如-X。less 若是传入以"-D"开头的JVM参数,则能够删除-a选项socket |
bin/solr start -a "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044" |
-cloud | 若是以SolrCloud模式启动,将启动包含Solr的内置ZooKeeper实例url 可简写为-cspa |
bin/solr start -c |
-d <dir> | 定义服务器目录,默认值是$SOLR_HOME/server。通常不定义这个选项。一般状况是每一个实例使用相同服务器目录而且使用惟一的Solr home目录 | bin/solr start -d newServerDir |
-e <name> | 使用示例配置启动Solr。这些示例用来帮助你更快入门Solr,或者尝试特性。命令行 可用选项有:clound、techproducts、dih、schemalessdebug |
bin/solr start -e schemaless |
-f | 在前台启动Solr;使用-e选项时不能使用这个选项 | bin/solr start -f |
-h <hostname> | 使用自定义hostname启动Solr,默认值'localhost' | bin/solr start -h search.mysolr.com |
-m <memory> | 使用自定义值做为JVM的最小和最大堆值 | bin/solr start -m 1g |
-noprompt | 无提示,默认彻底接受rest 示例:当使用-cloud时,会有交互式引导你多个选项,若是你想都默认接收,只须要使用这个选项code |
bin/solr start -e cloud -noprompt |
-p <port> | 指定端口 | bin/solr start -p 8655 |
-s <dir> | 设置solr.solr.home系统属性。Solr将在该目录下建立core目录。这将容许你在相同host上跑多个实例,使用相同服务器目录,使用-d选项 一旦设置,指定目录须要包含solr.xml文件,除非solr.xml在ZooKeeper中存在,默认值是server/solr 当运行示例(-e)时,该参数将被忽略,由于solr.solr.home取决于哪一个示例在跑 |
bin/solr start -s newHome |
-V | 打印冗余信息 | bin/solr start -V |
-z <zkHost> | 使用自定义ZooKeeper connection string启动Solr。该选项只能在-c选项,即SolrCloud模式下使用。若是该选项未提供,Solr将启动内置ZooKeeper实例 | bin/solr start -c -z server1:2181,server2:2181 |
为了强调默认设置是如何起做用的,花点时间了解下面的命令:
bin/solr start bin/solr start -h localhost -p 8983 -d server
没有必要定义全部选项,由于有些默认就能够了。
使用-D给JVM传入属性
示例:设置自动soft-commit频率为3秒
bin/solr start -Dsolr.autoSoftCommit.maxTime=3000
bin/solr start -c/cloud
若是指定ZooKeeper链接字符串,例如"-z 192.168.1.4:2181",Solr将链接到ZooKeeper并加入集群。若是以cloud模式启动,但没有指定-z选项,则Solr启动内置ZooKeeper服务器,坚挺在Solr端口+1000,例如Solr在端口8983,则内置ZooKeeper监听在端口9983
bin/solr start -e <name>
注意:运行在前台(-f)选项在使用-e选项失效,由于脚本须要执行额外任务。
stop命令向正在运行的Solr节点发送STOP请求,该命令等待5s让Solr顺滑中止,以后会强制杀进程(kill -9)
bin/solr stop [options] bin/solr stop -help
参数 | 描述 | 示例 |
-p <port> | 在指定端口关闭Solr。若是正在运行多个实例或者SolrCloud模式,你须要分别指定端口关闭或者使用-all选项 | bin/solr stop -p 8983 |
-all | 关闭全部运行的Solr | bin/solr stop -all |
-k <key> | Stop key用来防止误关闭,默认值是"solrrocks" | bin/solr stop -k solrrocks |
bin/solr version
status命令行展现基本的JSON格式的信息。status命令行使用SOLR-PID-DIR环境变量来定位Solr进程号文件来找到运行的Solr实例,SOLR-PID-DIR默认值是bin目录
bin/solr status
输出
Found 1 Solr nodes:
Solr process 975 running on port 8983
{
"solr_home":"/Users/hs/package/solr/server/solr",
"version":"5.4.1 1725212 - jpountz - 2016-01-18 11:51:45",
"startTime":"2016-02-14T02:06:05.35Z",
"uptime":"0 days, 0 hours, 0 minutes, 13 seconds",
"memory":"36 MB (%7.3) of 490.7 MB"}
前提是SolrCloud模式启动。健康检测报告提供关于对于全部shards的每一个replica的状态,包括提交文档的个数和当前状态
bin/solr healthcheck [options] bin/solr healthcheck -help
参数 | 描述 | 示例 |
-c <collection> | 运行健康监测的集群对象名称 | bin/solr healthcheck -c gettingstarted |
-z <zkhost> | ZooKeeper connection string,默认值是localhost:8983。若是不是8983,须要指定端口,默认是Solr端口+1000 | bin/solr healthcheck -z localhost:2181 |
下面是一个健康检测示例
./solr healthcheck -c gettingstarted -z localhost:9983
输出为
{
"collection":"gettingstarted",
"status":"healthy",
"numDocs":0,
"numShards":2,
"shards":[
{
"shard":"shard1",
"status":"healthy",
"replicas":[
{
"name":"core_node2",
"url":"http://10.8.204.89:8983/solr/gettingstarted_shard1_replica1/",
"numDocs":0,
"status":"active",
"uptime":"0 days, 0 hours, 4 minutes, 27 seconds",
"memory":"85.6 MB (%17.5) of 490.7 MB",
"leader":true},
{
"name":"core_node3",
"url":"http://10.8.204.89:7574/solr/gettingstarted_shard1_replica2/",
"numDocs":0,
"status":"active",
"uptime":"0 days, 0 hours, 4 minutes, 21 seconds",
"memory":"41.4 MB (%8.4) of 490.7 MB"}]},
{
"shard":"shard2",
"status":"healthy",
"replicas":[
{
"name":"core_node1",
"url":"http://10.8.204.89:8983/solr/gettingstarted_shard2_replica1/",
"numDocs":0,
"status":"active",
"uptime":"0 days, 0 hours, 4 minutes, 27 seconds",
"memory":"85.9 MB (%17.5) of 490.7 MB",
"leader":true},
{
"name":"core_node4",
"url":"http://10.8.204.89:7574/solr/gettingstarted_shard2_replica2/",
"numDocs":0,
"status":"active",
"uptime":"0 days, 0 hours, 4 minutes, 21 seconds",
"memory":"41.4 MB (%8.4) of 490.7 MB"}]}]}
注意:执行create命令的用户要和启动Solr的用户一致
create命令行会检测到Solr的运行状态(standalone或SolrCloud),根据状态建立core或collection
bin/solr create options bin/solr create -help
参数 | 描述 | 示例 |
-c <name> | 建立core或collection的名称 | bin/solr create -c mycollection |
-d <confdir> | 配置目录,默认值是data_driven_schema_configs | bin/solr create -d basic_configs |
-n <configName> | 配置文件名。默认和core或collection同名 | bin/solr create -n basic |
-p <port> | 指定Solr端口。当运行多个standalone实例时须要指定 | bin/solr create -p 8983 |
-s <shards> -shards |
分割collection为shards的数量,默认1。前提是SolrCloud模式 | bin/solr create -s 2 |
-rf <replicas> -replicationFactor |
集群中每一个document的拷贝数量,默认值1(没有replication) | bin/solr create -rf 2 |
在建立SolrCloud集群前,使用的配置目录必须上传到ZooKeeper。须要你作主要决定的是在ZooKeeper中的配置目录是否应该分享到多个集群。下面经过示例来了解配置目录是如何在SolrCloud中工做的。
首先,若是没有提供-d或-n选项,默认配置($SOLR_HOME/server/solr/configsets/data_driven_schema_cinfigs/conf)被上传到ZooKeeper,使用和集群相同的名称。例如,下面的命令将致使data-driven_schema_configs配置被上传到ZooKeeper
bin/solr create -c contacts
若是建立另外一个集群
bin/solr create -c contacts2
另外一个data_driven_schema_configs的拷贝将被上传到ZooKeeper,在/configs/contacts2下。对contacts集群作的变化不会影响contacts2。简而言之,默认为每一个collection建立独一无二的配置目录拷贝。
使用-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下。然而,你也能够提供你本身的配置目录路径。示例:
bin/solr create -c mycoll -d /tmp/myconfigs
将上传/tmp/myconfigs到ZooKeeper目录/configs/mycoll下。再次重申,配置目录的名称和集群一致,除非使用-n指定
其余集群能够共享配置,使用-n选项。示例:建立一个共享以前建立的basic配置的新集群
bin/solr create -c logs2 -n basic
data_driven_schema_configs将转变为索引数据。所以,建议不要共享配置,除非肯定全部集群应该继承一个集群的索引变化。
delete命令行检测到Solr的运行模式,delete core或collection
bin/solr delete [options] bin/solr delete -help
若是在SolrCloud模式,delete命令行检查配置目录是否有其余集群使用,若是没有,也将从ZooKeeper中被删除。
参数 | 描述 | 示例 |
-c <name> | core/collection名称 | bin/solr delete -c mycoll |
-deleteConfig <trueIfalse> | 从ZooKeeper删除配置目录,默认值为true 若是配置目录被其余集群使用,指定true也不会被删除 |
bin/solr delete -deleteConfig false |
-p <port> | 多个standalone实例时有用 | bin/solr delete -p 8983 |