我有一些自定义的JVM选项,用于我的 * ElasticSearch服务 *,我想执行。我尝试过设置%ES_JAVA_OPTS%
环境变量,但似乎 * ElasticSearch服务 * 只在service.bat
脚本中安装服务时查看该变量:
:doInstall
...
if exist "%JVM_DLL%" goto foundJVM
...
:foundJVM
...
if not "%ES_JAVA_OPTS%" == "" set JVM_ES_JAVA_OPTS=%ES_JAVA_OPTS: =#%
if not "%ES_JAVA_OPTS%" == "" set JVM_OPTS=%JVM_OPTS%;%JVM_ES_JAVA_OPTS%
if "%ES_START_TYPE%" == "" set ES_START_TYPE=manual
if "%ES_STOP_TIMEOUT%" == "" set ES_STOP_TIMEOUT=0
"%EXECUTABLE%" //IS//%SERVICE_ID% --Startup %ES_START_TYPE% --StopTimeout %ES_STOP_TIMEOUT% --StartClass org.elasticsearch.bootstrap.Elasticsearch --StopClass org.elasticsearch.bootstrap.Elasticsearch --StartMethod main --StopMethod close --Classpath "%ES_CLASSPATH%" --JvmSs %JVM_SS% --JvmMs %JVM_XMS% --JvmMx %JVM_XMX% --JvmOptions %JVM_OPTS% ++JvmOptions %ES_PARAMS% %LOG_OPTS% --PidFile "%SERVICE_ID%.pid" --DisplayName "Elasticsearch %ES_VERSION% (%SERVICE_ID%)" --Description "Elasticsearch %ES_VERSION% Windows Service - http://elasticsearch.org" --Jvm "%JVM_DLL%" --StartMode jvm --StopMode jvm --StartPath "%ES_HOME%"
我能够手动添加我的选项,方法是进入服务管理器,将我的环境变量的值复制到“Java”选项卡下的“Java选项”字段中。有没有什么方法可以通过编程方式做到这一点,而无需卸载和重新安装服务?
我使用的是ElasticSearch v1.3.4和Windows Server 2012 R2。
2条答案
按热度按时间mf98qq941#
我想你正在寻找Windows
sc
命令。请尝试answerjslywgbw2#
要更改Windows上已经安装的Elasticsearch服务的设置,您可以使用
bin\elasticsearch-service.bat
和manager
参数。之后,GUI管理器将启动,您可以管理已安装的服务(例如Java选项卡中的内存池大小)。