Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-416

NiFi launcher does not respect JAVA_HOME, fails silently

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.1.0
    • 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
      

      Attachments

        1. NIFI-416.5.patch
          1 kB
          Ricky Saltzer
        2. NIFI-416.4.patch
          2 kB
          Ricky Saltzer
        3. NIFI-416.3.patch
          1 kB
          Ricky Saltzer
        4. NIFI-416.2.patch
          1 kB
          Ricky Saltzer
        5. NIFI-416.1.patch
          2 kB
          Ricky Saltzer

        Activity

          People

            rickysaltzer Ricky Saltzer
            rickysaltzer Ricky Saltzer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: