Below, I documented the steps I had to take to install NiFi on my Mac using Homebrew:
I ran 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.
Now trying 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
Okay, running brew cask install java
.
Now trying 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 java --version
.
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 nifi run
.
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 /usr/libexec/java_home -V
.
Update the JAVA_HOME
var using export JAVA_HOME=$(/usr/libexec/java_home -v1.8)
.
Now run nifi run
again and see if it works for you :)