Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
If you override your JAVA_HOME to another location, the nifi.sh script will use it, but the RunNiFi launcher will ignore it entirely. This results in a failure with no logging (even with verbose flag) if your default Java version is too old. See an example below
# Check Java version [cops@lannister-001 nifi-0.0.2-incubating-SNAPSHOT]$ java -version java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b04) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode) # Override Java version [cops@lannister-001 nifi-0.0.2-incubating-SNAPSHOT]$ export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/ # Run NiFi (fails silently) [cops@lannister-001 nifi-0.0.2-incubating-SNAPSHOT]$ ./bin/nifi.sh start -verbose Java home: /usr/java/jdk1.7.0_67-cloudera/ NiFi home: /home/cops/nifi-0.0.2-incubating-SNAPSHOT Bootstrap Config File: /home/cops/nifi-0.0.2-incubating-SNAPSHOT/conf/bootstrap.conf Mar 11, 2015 11:32:44 AM org.apache.nifi.bootstrap.RunNiFi start INFO: Starting Apache NiFi... Mar 11, 2015 11:32:44 AM org.apache.nifi.bootstrap.RunNiFi start INFO: Working Directory: /home/cops/nifi-0.0.2-incubating-SNAPSHOT Mar 11, 2015 11:32:44 AM org.apache.nifi.bootstrap.RunNiFi start INFO: Command: java -classpath /home/cops/nifi-0.0.2-incubating-SNAPSHOT/./conf:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/jcl-over-slf4j-1.7.10.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/slf4j-api-1.7.10.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/logback-core-1.1.2.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/nifi-runtime-0.0.2-incubating-SNAPSHOT.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/nifi-properties-0.0.2-incubating-SNAPSHOT.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/nifi-api-0.0.2-incubating-SNAPSHOT.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/logback-classic-1.1.2.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/log4j-over-slf4j-1.7.10.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/jul-to-slf4j-1.7.10.jar:/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./lib/nifi-nar-utils-0.0.2-incubating-SNAPSHOT.jar -Djava.net.preferIPv4Stack=true -Dsun.net.http.allowRestrictedHeaders=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Dnifi.properties.file.path=/home/cops/nifi-0.0.2-incubating-SNAPSHOT/./conf/nifi.properties -Dnifi.bootstrap.listen.port=46533 -Dapp=NiFi org.apache.nifi.NiFi Mar 11, 2015 11:33:45 AM org.apache.nifi.bootstrap.RunNiFi start SEVERE: Apache NiFi does not appear to have started
Workaround: Edit the conf/boostrap.conf file and change the java command to the explicit JDK 1.7 path.
For example in my environment:
# Java command to use when running NiFi java=/usr/java/jdk1.7.0_67-cloudera/bin/java
[cops@lannister-001 nifi-0.0.2-incubating]$ ./bin/nifi.sh run Java home: /usr/java/jdk1.7.0_67-cloudera/ NiFi home: /home/cops/nifi-0.0.2-incubating Bootstrap Config File: /home/cops/nifi-0.0.2-incubating/conf/bootstrap.conf Mar 12, 2015 11:34:14 AM org.apache.nifi.bootstrap.RunNiFi start INFO: Starting Apache NiFi... Mar 12, 2015 11:34:14 AM org.apache.nifi.bootstrap.RunNiFi start INFO: Working Directory: /home/cops/nifi-0.0.2-incubating Mar 12, 2015 11:34:14 AM org.apache.nifi.bootstrap.RunNiFi start INFO: Command: /usr/java/jdk1.7.0_67-cloudera/bin/java -classpath /home/cops/nifi-0.0.2-incubating/./conf:/home/cops/nifi-0.0.2-incubating/./lib/jcl-over-slf4j-1.7.10.jar:/home/cops/nifi-0.0.2-incubating/./lib/nifi-properties-0.0.2-incubating.jar:/home/cops/nifi-0.0.2-incubating/./lib/slf4j-api-1.7.10.jar:/home/cops/nifi-0.0.2-incubating/./lib/nifi-nar-utils-0.0.2-incubating.jar:/home/cops/nifi-0.0.2-incubating/./lib/logback-core-1.1.2.jar:/home/cops/nifi-0.0.2-incubating/./lib/logback-classic-1.1.2.jar:/home/cops/nifi-0.0.2-incubating/./lib/log4j-over-slf4j-1.7.10.jar:/home/cops/nifi-0.0.2-incubating/./lib/nifi-api-0.0.2-incubating.jar:/home/cops/nifi-0.0.2-incubating/./lib/jul-to-slf4j-1.7.10.jar:/home/cops/nifi-0.0.2-incubating/./lib/nifi-runtime-0.0.2-incubating.jar -Djava.net.preferIPv4Stack=true -Dsun.net.http.allowRestrictedHeaders=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Dnifi.properties.file.path=/home/cops/nifi-0.0.2-incubating/./conf/nifi.properties -Dnifi.bootstrap.listen.port=45820 -Dapp=NiFi org.apache.nifi.NiFi Mar 12, 2015 11:34:14 AM org.apache.nifi.bootstrap.RunNiFi setNiFiCommandControlPort INFO: Apache NiFi now running and listening for Bootstrap requests on port 41977