啓動和重啓命令有不少選項讓你運行在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 |