Ubuntu 使用start-stop守护进程的Solr upstart脚本

Ubuntu 使用start-stop守护进程的Solr upstart脚本,ubuntu,solr,upstart,start-stop-daemon,Ubuntu,Solr,Upstart,Start Stop Daemon,我想使用upstart命令启动我的solr 我通常用于启动solar的命令是 /usr/bin/java \ -Dsolr.solr.home=/home/justeat/work/projects/solr/apache-solr-4.0.0/example/solr \ -Djetty.port=8983 \ -Djetty.logs=/home/justeat/work/projects/solr/apache-solr-4.0.0/example/solr/logs \ -Djetty.

我想使用upstart命令启动我的solr

我通常用于启动solar的命令是

/usr/bin/java \
-Dsolr.solr.home=/home/justeat/work/projects/solr/apache-solr-4.0.0/example/solr \
-Djetty.port=8983 \
-Djetty.logs=/home/justeat/work/projects/solr/apache-solr-4.0.0/example/solr/logs \
-Djetty.home=/home/justeat/work/projects/solr/apache-solr-4.0.0/example \
-Djava.io.tmpdir=/tmp \
-jar /home/justeat/work/projects/solr/apache-solr-4.0.0/example/start.jar
现在,当我使用

DAEMON_OPTS="-Dsolr.solr.home=/home/bitnami/search/solr/solr-4.2.1/example/solr -Djetty.port=8983 -Djetty.logs=/home/bitnami/search/solr/solr-4.2.1/example/logs -Djetty.home=/home/bitnami/search/solr/solr-4.2.1/example -Djava.io.tmpdir=/tmp -jar /home/bitnami/search/solr/solr-4.2.1/example/start.jar"

exec /usr/bin/java ${DAEMON_OPTS} >> /var/log/log.log 2>&1
暴发户工作正常。当我尝试在upstart脚本中使用start-stop-daemon时,solr没有得到我在
daemon\u OPTS
中发送的一些参数

exec start-stop-daemon \
        --start \
        --make-pidfile \
        --pidfile /var/run/solr_upstart.pid \
        --chuid $USER \
        --exec /usr/bin/java -- $DAEMON_OPTS >> /var/log/log.log 2>&1
Solr日志如下所示

2014-10-23 12:32:15.878:INFO:oejs.Server:jetty-8.1.2.v20120308
2014-10-23 12:32:15.932:INFO:oejdp.ScanningAppProvider:Deployment monitor /home/justeat/work/projects/solr/apache-solr-4.0.0/example/contexts at interval 0
2014-10-23 12:32:15.946:INFO:oejd.DeploymentManager:Deployable added: /home/justeat/work/projects/solr/apache-solr-4.0.0/example/contexts/solr.xml
2014-10-23 12:32:16.056:WARN:oejx.XmlConfiguration:Config error at <Set name="tempDirectory"><Property name="jetty.home" default="."/>/solr-webapp</Set> java.lang.reflect.InvocationTargetException
2014-10-23 12:32:16.056:WARN:oejd.DeploymentManager:Unable to reach node goal: started
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.set(XmlConfiguration.java:565)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:378)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:338)
    at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:291)
    at org.eclipse.jetty.deploy.providers.ContextProvider.createContextHandler(ContextProvider.java:68)
    at org.eclipse.jetty.deploy.App.getContextHandler(App.java:97)
    at org.eclipse.jetty.deploy.bindings.StandardDeployer.processBinding(StandardDeployer.java:33)
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:552)
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:63)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91)
    at org.eclipse.jetty.server.Server.doStart(Server.java:263)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
    at org.eclipse.jetty.start.Main.start(Main.java:602)
    at org.eclipse.jetty.start.Main.main(Main.java:82)
Caused by: 
java.lang.IllegalArgumentException: Bad temp directory: /solr-webapp
    at org.eclipse.jetty.webapp.WebAppContext.setTempDirectory(WebAppContext.java:1098)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.set(XmlConfiguration.java:565)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:378)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:338)
    at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:291)
    at org.eclipse.jetty.deploy.providers.ContextProvider.createContextHandler(ContextProvider.java:68)
    at org.eclipse.jetty.deploy.App.getContextHandler(App.java:97)
    at org.eclipse.jetty.deploy.bindings.StandardDeployer.processBinding(StandardDeployer.java:33)
    at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
    at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
    at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
    at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
    at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
    at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
    at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:552)
    at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:63)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91)
    at org.eclipse.jetty.server.Server.doStart(Server.java:263)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
    at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
    at org.eclipse.jetty.start.Main.start(Main.java:602)
    at org.eclipse.jetty.start.Main.main(Main.java:82)
2014-10-23 12:32:16.081:INFO:oejs.AbstractConnector:Started SocketConnector@0.0.0.0:8983
2014-10-23 12:32:15.878:信息:oejs.服务器:jetty-8.1.2.v20120308
2014-10-23 12:32:15.932:信息:oejdp.ScanningAppProvider:Deployment monitor/home/justeat/work/projects/solr/apache-solr-4.0.0/example/contexts间隔0
2014-10-23 12:32:15.946:信息:oejd.DeploymentManager:Deployable added:/home/justeat/work/projects/solr/apache-solr-4.0.0/example/contexts/solr.xml
2014-10-23 12:32:16.056:警告:oejx.XmlConfiguration:Config错误位于/solr webapp java.lang.reflect.InvocationTargetException
2014-10-23 12:32:16.056:警告:oejd.部署管理器:无法达到节点目标:已启动
java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.set(XmlConfiguration.java:565)
位于org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:378)
位于org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:338)
位于org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:291)
位于org.eclipse.jetty.deploy.providers.ContextProvider.createContextHandler(ContextProvider.java:68)
位于org.eclipse.jetty.deploy.App.getContextHandler(App.java:97)
位于org.eclipse.jetty.deploy.bindings.StandardDeployer.processBinding(StandardDeployer.java:33)
位于org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
位于org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
位于org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
在org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)上
位于org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
位于org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
位于org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
位于org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
位于org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
位于org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
位于org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:118)
位于org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
位于org.eclipse.jetty.deploy.DeploymentManager.startapprovider(DeploymentManager.java:552)
位于org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:227)
位于org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
位于org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:63)
位于org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:53)
位于org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:91)
位于org.eclipse.jetty.server.server.doStart(server.java:263)
位于org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
位于org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
位于java.security.AccessController.doPrivileged(本机方法)
位于org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
位于org.eclipse.jetty.start.Main.start(Main.java:602)
位于org.eclipse.jetty.start.Main.Main(Main.java:82)
原因:
java.lang.IllegalArgumentException:临时目录错误:/solr webapp
位于org.eclipse.jetty.webapp.WebAppContext.settemp目录(WebAppContext.java:1098)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.set(XmlConfiguration.java:565)
位于org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:378)
位于org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:338)
位于org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:291)
位于org.eclipse.jetty.deploy.providers.ContextProvider.createContextHandler(ContextProvider.java:68)
位于org.eclipse.jetty.deploy.App.getContextHandler(App.java:97)
位于org.eclipse.jetty.deploy.bindings.StandardDeployer.processBinding(StandardDeployer.java:33)
位于org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:183)
位于org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:491)
位于org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:138)
在org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:142)上
位于org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:53)
在org.eclipse.jetty.util上