I don’t have much of linux experience, so it might be I’m missing something obvious.
However… I’m trying to put Cassandra nosql in chkserv.d on CentOS so it is autorestarted when it breaks. I managed to put it there and it is correctly recognized by chkservd when it breaks. I put it like this:
root@server [/etc/chkserv.d]# cat cassandra
service[cassandra]=x,x,x,/etc/init.d/cassandra start,cassandra,root
The problem is when that ‘cassandra start’ is executed, in cassandra.out log I get:
/opt/cassandra/cassandra_home/bin/cassandra: line 141: exec: java: not found
In line 141 of cassandra script is:
exec $NUMACTL “$JAVA” $JVM_OPTS $cassandra_parms -cp “$CLASSPATH” $props “$class” <&- &
And all environment variables are correctly expanded:
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
When I start that cassandra script manually, or go and start it with etc/init.d/cassandra start, everything is started correctly.
Million dollar question – what am I missing?
Thanks
Just needed to set JAVA_HOME environment variable. Now everything works as expected.
Uncommented line in $CASSANDRA_HOME/bin/cassandra.in.sh.