2
我沒有太多的Linux經驗,所以它可能是我失去了一些明顯的東西。cassandra nosql autorestart服務與chkserv.d
但是...我試圖把Cassandra nosql放在CentOS上的chkserv.d中,所以它在中斷時自動啓動。我設法把它放在那裏,當chkservd被破壞時它被正確識別。我把這樣的:
[email protected] [/etc/chkserv.d]# cat cassandra
service[cassandra]=x,x,x,/etc/init.d/cassandra start,cassandra,root
被執行的「卡桑德拉啓動」時的問題是,在cassandra.out日誌我得到:
/opt/cassandra/cassandra_home/bin/cassandra: line 141: exec: java: not found
在卡桑德拉腳本的141行是:
EXEC $ numactl的 「$ JAVA」 $ JVM_OPTS $ cassandra_parms -cp 「$ CLASSPATH」 $道具 「$類」 < & - &
和所有環境變量正確擴展:
java -ea -javaagent:/opt/cassandra/cassandra_home/bin/../lib/jamhreadPriorities -XX:ThreadPriorityPolicy=42 -Xms400M -Xmx400M -XnOutOfMemoryError -Xss180k -XX:+UseParNewGC -XX:+UseConcMarkSweeemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:yFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.net.prefe.sun.management.jmxremote.port=7199 -Dcom.sun.management.jmxremon.management.jmxremote.authenticate=false -Dlog4j.configuration=es -Dlog4j.defaultInitOverride=true -Dcassandra-pidfile=/var/runpt/cassandra/cassandra_home/bin/../conf:/opt/cassandra/cassandraasses/main:/opt/cassandra/cassandra_home/bin/../build/classes/thassandra_home/bin/../lib/antlr-3.2.jar:/opt/cassandra/cassandra_e-cassandra-1.1.5.jar:/opt/cassandra/cassandra_home/bin/../lib/atutil-1.1.5.jar:/opt/cassandra/cassandra_home/bin/../lib/apache-5.jar:/opt/cassandra/cassandra_home/bin/../lib/avro-1.4.0-fixes.ssandra_home/bin/../lib/avro-1.4.0-sources-fixes.jar:/opt/cassann/../lib/commons-cli-1.1.jar:/opt/cassandra/cassandra_home/bin/..2.jar:/opt/cassandra/cassandra_home/bin/../lib/commons-lang-2.4assandra_home/bin/../lib/compress-lzf-0.8.4.jar:/opt/cassandra/clib/concurrentlinkedhashmap-lru-1.3.jar:/opt/cassandra/cassandraa-r08.jar:/opt/cassandra/cassandra_home/bin/../lib/high-scale-liandra/cassandra_home/bin/../lib/jackson-core-asl-1.9.2.jar:/opt/ome/bin/../lib/jackson-mapper-asl-1.9.2.jar:/opt/cassandra/cassajamm-0.2.5.jar:/opt/cassandra/cassandra_home/bin/../lib/jline-0.ra/cassandra_home/bin/../lib/json-simple-1.1.jar:/opt/cassandra//lib/libthrift-0.7.0.jar:/opt/cassandra/cassandra_home/bin/../lipt/cassandra/cassandra_home/bin/../lib/metrics-core-2.0.3.jar:/oa_home/bin/../lib/servlet-api-2.5-20081211.jar:/opt/cassandra/caib/slf4j-api-1.6.1.jar:/opt/cassandra/cassandra_home/bin/../lib/ar:/opt/cassandra/cassandra_home/bin/../lib/snakeyaml-1.6.jar:/oa_home/bin/../lib/snappy-java-1.0.4.1.jar:/opt/cassandra/cassandaptree-0.1.jar org.apache.cassandra.thrift.CassandraDaemon
當我手工啓動卡桑德拉腳本,或者去和等啓動/ init.d /的卡桑德拉開始,一切都正確啓動。
百萬美元的問題 - 我錯過了什麼?
謝謝
只需要設置JAVA_HOME環境變量。現在一切都按預期工作。 – EddieHR
供參考:您可以回答自己的問題並接受答案。對於其他人來說,我建議在/ etc/default/cassandra中設置JAVA_HOME。這是爲init腳本設置環境變量的典型場所。 –
感謝您的信息。我現在試過了,它不工作。在/ etc/default中創建「cassandra」文件,並將JAVA_HOME =/usr/local/jdk放在那裏,但現在它再次顯示「找不到」,如問題所述。有任何想法嗎? – EddieHR