Ricky Saltzer created NIFI-416:
----------------------------------

             Summary: NiFi launcher does not respect JAVA_HOME, fails silently
                 Key: NIFI-416
                 URL: https://issues.apache.org/jira/browse/NIFI-416
             Project: Apache NiFi
          Issue Type: Bug
            Reporter: Ricky Saltzer


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

{code}
# 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
{code}

*Workaround*: Edit the _conf/boostrap.conf_ file and change the java command to 
the explicit JDK 1.7 path. 

For example in my environment:
{code}
# Java command to use when running NiFi
java=/usr/java/jdk1.7.0_67-cloudera/bin/java
{code}

{code}
[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
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to