啟動和停止Solr

2018-11-07 16:02 更新

啟動并重新啟動 Solr

您可以使用 start 命令來啟動 Solr,使用 restart 命令允許您在 Solr 已經(jīng)運行或者已經(jīng)停止的情況下重新啟動 Solr。

該 start 和 restart 命令有多種選擇,讓您在 SolrCloud 模式下運行,使用一個示例配置集,從一個不是默認的主機名或端口開始并指向本地的 ZooKeeper 集合。

bin/solr start [options]
bin/solr start -help
bin/solr restart [options]
bin/solr restart -help

使用 restart 命令時,必須傳遞您在啟動 Solr 時最初傳遞的所有參數(shù)。在幕后,啟動了一個停止請求,所以 Solr 將在被再次啟動之前停止。如果沒有節(jié)點已經(jīng)運行,則重新啟動將跳過此步驟停止并繼續(xù)啟動 Solr。

啟動參數(shù)

bin/solr 腳本提供了許多選項,允許您以常見的方式自定義服務(wù)器,例如更改偵聽端口。但是,大多數(shù)默認設(shè)置對于大多數(shù) Solr 安裝都是足夠的,特別是剛開始時。

-a "<string>"

使用額外的 JVM 參數(shù)(例如以 -X 開頭的參數(shù))啟動 Solr。如果您正在傳遞以 “-D” 開頭的 JVM 參數(shù),則可以省略 -a 選項。例如:

bin/solr start -a "-Xdebug -Xrunjdwp:transport=dt_socket, server=y,suspend=n,address=1044"
-cloud

以 SolrCloud 模式啟動 Solr,該模式也將啟動 Solr 附帶的嵌入式 ZooKeeper 實例。

這個選項可以簡單地縮短為-c

如果您已經(jīng)在運行您想要使用的 ZooKeeper 集合,而不是嵌入式(單節(jié)點)ZooKeeper,則還應(yīng)該傳遞 -z 參數(shù)。

有關(guān)更多詳細信息,請參閱下面的 SolrCloud 模式部分。例如:

bin/solr start -c
-d <dir>

定義一個服務(wù)器目錄,默認為server(如,$SOLR_HOME/server)。重寫此選項的情況并不常見。在同一臺主機上運行多個 Solr 實例時,更常見的是為每個實例使用相同的服務(wù)器目錄,并使用 -s 選項使用唯一的Solr主目錄更為常見。例如:

bin/solr start -d newServerDir
-e <name>

以一個示例配置啟動 Solr。提供這些示例可以幫助您更快速地使用 Solr,或者只是嘗試一個特定的功能。

可用的選項是:

  • cloud

  • techproducts

  • dih

  • schemaless

    有關(guān)示例配置的更多詳細信息,請參見下面的使用示例配置運行部分。例如:

    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 的 min(-Xms)和 max(-Xmx)堆大小。例如:

bin/solr start -m 1g
-noprompt

啟動 Solr 并禁止任何可能出現(xiàn)的提示。這會隱含地接受所有默認的副作用。

例如,使用“cloud”示例時,交互式會話將指導(dǎo)您完成 SolrCloud 集群的多個選項。如果您想接受所有的默認設(shè)置,您可以簡單地將 -noprompt 選項添加到您的請求中。例如:

bin/solr start -e cloud -noprompt
-p <port>

在定義的端口上啟動 Solr。如果沒有指定,將使用 “8983”。例如:

bin/solr start -p 8655
-s <dir>

設(shè)置 solr.solr.home 系統(tǒng)屬性;Solr 將在這個目錄下創(chuàng)建核心目錄。這允許您在同一主機上運行多個 Solr 實例,同時使用 -d 參數(shù)重新使用相同的服務(wù)器目錄集。如果設(shè)置,則除非 ZooKeeper 中存在 solr.xml,否則指定的目錄應(yīng)包含 solr.xml 文件。默認值是server/solr。

運行示例(-e)時忽略此參數(shù),因為 solr.solr.home 取決于運行哪個示例。例如:

bin/solr start -s newHome
-v

比較詳細。這將 log4j 的日志記錄級別從INFO更改為DEBUG,具有相同的效果,如果您相應(yīng)地編輯log4j.properties。

例如:

bin/solr start -f -v
-q

要更安靜。這將 log4j 的日志記錄級別從INFO更改為WARN,具有相同的效果,如果您相應(yīng)地編輯log4j.properties。這對于您想限制日志記錄為警告和錯誤的生產(chǎn)環(huán)境非常有用。

例如:

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,腳本將退出,并顯示警告,將 Solr 作為“root”運行可能會導(dǎo)致問題??梢杂?-force 參數(shù)覆蓋此警告。

例如:

sudo bin/solr start -force

為了強調(diào)默認設(shè)置的工作原理,需要花一點時間來了解下列命令是否相同:

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

如果默認設(shè)置適合您的需要,則無需在啟動時定義所有選項。

設(shè)置 Java 系統(tǒng)屬性

bin/solr 腳本將向 JVM 傳遞以 -D 開頭的任何附加參數(shù),從而允許您設(shè)置任意的 Java 系統(tǒng)屬性。
例如, 要將自動 soft-commit 頻率設(shè)置為3秒,可以執(zhí)行以下操作:

bin/solr start -Dsolr.autoSoftCommit.maxTime=3000

SolrCloud 模式

-c 和 -cloud 選項是相同的:

bin/solr start -c
bin/solr start -cloud

如果你指定一個 ZooKeeper 連接字符串,例如:-z 192.168.1.4:2181,那么 Solr 將連接到 ZooKeeper 并加入集群。

如果在 cloud 模式下啟動 Solr 時沒有指定 -z 選項,Solr 將啟動一個嵌入式 ZooKeeper 服務(wù)器監(jiān)聽 Solr 端口 + 1000,也就是說,如果 Solr 在端口 8983 上運行,則嵌入式 ZooKeeper 將監(jiān)聽端口 9983 。

注意:如果您的 ZooKeeper 連接字符串使用 chroot (如 localhost:2181/solr),則需要在使用 bin/solr 腳本啟動 SolrCloud 之前創(chuàng)建 /solr znode。要執(zhí)行此操作,請使用下面概述的 mkroot 命令,例如: bin/solr zk mkroot/solr-z 192.168.1. 4:2181

在 SolrCloud 模式下啟動時,交互式腳本會話將提示您選擇一個要使用的 configset。

有關(guān)在 SolrCloud 模式下啟動 Solr 的更多信息,另請參閱 SolrCloud 入門部分。

以示例配置運行

bin/solr start -e <name>

示例配置允許您快速啟動配置,它反映了您希望用 Solr 完成的配置。

每個示例都使用托管模式啟動 Solr,該模式允許使用 Schema API 進行模式編輯,但不允許手動編輯模式文件。

如果您希望直接手動修改 schema.xml 文件,則可以按照 SolrConfig 中的 “Schema Factory”定義中描述的那樣更改這個默認值。

除非在下面的描述中另有說明,否則這些示例不會啟用 SolrCloud 或 schemaless 模式。

提供了以下示例:

  • cloud:這個例子在一臺機器上啟動一個 1-4 節(jié)點的 SolrCloud 集群。選擇后,交互式會話將開始指導(dǎo)您選擇要使用的初始配置集的選項,示例群集的節(jié)點數(shù)量、要使用的端口以及要創(chuàng)建的集合的名稱。當使用這個例子時,你可以從 $SOLR_HOME/server/solr/configsets 中找到的任何可用的配置集中進行選擇。
  • techproducts:本示例以獨立模式啟動 Solr,并為 $SOLR_HOME/example/exampledocs 目錄中包含的示例文檔設(shè)計模式。所使用的 configset 可以在$SOLR_HOME/server/solr/configsets/sample_techproducts_configs 中找到。
  • dih:本示例在獨立模式下啟動 Solr,并啟用了 DataImportHandler(DIH),并為 DIH 支持的不同類型的數(shù)據(jù)(如數(shù)據(jù)庫內(nèi)容、電子郵件、RSS 提要等)預(yù)先配置了幾個 dataconfig.xml 示例文件。所使用的 configset 是定制的 DIH,并且在 $SOLR_HOME/example/example-DIH/solr/conf 被發(fā)現(xiàn)。有關(guān) DIH 無: 本示例使用托管架構(gòu)在獨立模式下啟動 Solr, 如 SolrConfig 中的 "架構(gòu)工廠定義" 中所述, 并提供極少的預(yù)定義架構(gòu)。solr 將以此配置運行在無模式下, solr 將在模式中創(chuàng)建字段, 并猜測在傳入文檔中使用的字段類型。
    所使用的 configset 可在 $SOLR _home/服務(wù)器/SOLR/configsets/_default 中找到。的更多信息,請參閱使用數(shù)據(jù)導(dǎo)入處理程序上載結(jié)構(gòu)化數(shù)據(jù)存儲數(shù)據(jù)一節(jié)。
  • schemaless:本示例使用托管模式以獨立模式啟動 Solr,如 SolrConfig 中的模式工廠定義部分所述,并提供了一個非常簡單的預(yù)定義模式。Solr 將以這種配置在schemaless 模式下運行,其中 Solr 將在模式中動態(tài)創(chuàng)建字段,并將猜測傳入文檔中使用的字段類型。所使用的 configset 可以在 $SOLR_HOME/server/solr/configsets/_default 中找到。
注意:運行 in-foreground 選項(-f)與 -e 選項不兼容,因為在啟動 Solr 服務(wù)器后,腳本需要執(zhí)行其他任務(wù)。

停止 Solr

stop 命令向正在運行的 Solr 節(jié)點發(fā)送 STOP 請求,從而使其正常關(guān)閉。該命令將等待180秒,以便 Solr 正常停止,然后強制終止進程(kill -9)。

bin/solr stop [options]
bin/solr stop -help

停止參數(shù)

-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
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號