Below, I documented the steps I had to take to install NiFi on my Mac using Homebrew:
brew install nifi
Which resulted in this error:
Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
So, I ran
brew update-reset (as suggested by StackOverflow). That seemed to work.
I then ran
brew install nifi and received this error:
Error: Xcode alone is not sufficient on Sierra. Install the Command Line Tools: xcode-select --install
Obviously, I entered
xcode-select --install and installed it. This took a few minutes.
brew install nifi again…
nifi: Java 1.8+ is required to install this formula. JavaRequirement unsatisfied! You can install with Homebrew-Cask: brew cask install java
brew cask install java.
brew install nifi. Success! Nice!
Next up, try running NiFi via
nifi run- I’m getting this error:
WARN [main] org.apache.nifi.bootstrap.Command Launched Apache NiFi but could not determined the Process ID.
After some Googling, I determined that we need java8 for NiFi, not java9 (which Homebrew installs by default). You can check your java version with
You will need to take the following steps to delete java9 and switch to java8:
/usr/libexec/java_home -V – list all versions of Java on the machine
brew tap caskroom/versions – allow brew to lookup versions
brew cask install java8 – install java8 (if you haven’t already)
brew cask uninstall java – get rid of the default java9 (not strictly required)
export JAVA_HOME=$(/usr/libexec/java_home -v1.8) – set JAVA_HOME to java8
If you have completed all of the above steps, you should be able to now run
nifi run and get something similar to below.
davisford$ nifi run Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home NiFi home: /usr/local/Cellar/nifi/1.4.0/libexec ... ... INFO [main] org.apache.nifi.bootstrap.Command Launched Apache NiFi with Process ID 29854
We did it! You should be able to visit
http://localhost:8080/nifi in your browser and get started.
This warning occurs at the top of the output when using
davisford$ nifi run nifi: JAVA_HOME not set; results may vary Java home: NiFi home: /usr/local/Cellar/nifi/1.4.0/libexec
If you see the warning
JAVA_HOME not set; results may vary when you use
nifi run, you probably forgot to export
JAVA_HOME in the above step.
Check your java8 installation location using
JAVA_HOME var using
export JAVA_HOME=$(/usr/libexec/java_home -v1.8).
nifi run again and see if it works for you :)