⚙️ Basic Commands
Service Management
cd /mnt/c/nifi-1.25.0
# Start NiFi
./bin/nifi.sh start
# Stop NiFi
./bin/nifi.sh stop
# Check status
./bin/nifi.sh status
# Restart NiFi
./bin/nifi.sh restart
Password Management
# Find generated password
cat logs/nifi-app.log | grep Generated
grep -i 'password\|initial security' logs/nifi-app.log
# Set custom credentials
./bin/nifi.sh set-single-user-credentials admin MyPassword123!
Monitoring
# Monitor startup logs
tail -f logs/nifi-app.log
# Check if port 8443 is open
sudo netstat -tulpn | grep 8443
Configuration File Management
# Open properties file
nano conf/nifi.properties
# Navigation within nano:
# Ctrl+W: Search
# Ctrl+O: Save
# Ctrl+X: Exit
Backup Flow Files
# Backup existing flows
mv conf/flow.xml.gz conf/flow.xml.gz.backup 2>/dev/null
mv conf/flow.json.gz conf/flow.json.gz.backup 2>/dev/null
🔧 Configuration Profiles
Profile 1: HTTP Development Mode
Access URL: http://localhost:8080/nifi
Use Case: Local development, testing, quick prototyping
Web Properties (Lines ~127-135)
# ENABLE HTTP
nifi.web.http.host=0.0.0.0
nifi.web.http.port=8080
# DISABLE HTTPS
#nifi.web.https.host=
#nifi.web.https.port=
Security Properties (Lines ~170-180)
# COMMENT OUT keystore/truststore settings
# nifi.security.keystore=./conf/keystore.jks
# nifi.security.keystoreType=JKS
# nifi.security.keystorePasswd=changeit
# nifi.security.keyPasswd=changeit
# nifi.security.truststore=./conf/truststore.jks
# nifi.security.truststoreType=JKS
# nifi.security.truststorePasswd=changeit
# DISABLE Authentication
nifi.security.user.authorizer=
nifi.security.allow.anonymous.authentication=false
nifi.security.user.login.identity.provider=
Profile 2: HTTPS Production Mode
Access URL: https://localhost:8443/nifi
Credentials: Username: admin / Password: MyPassword123!
Use Case: Production, secure environments, multi-user access
Web Properties (Lines ~127-135)
# DISABLE HTTP
#nifi.web.http.host=
#nifi.web.http.port=
# ENABLE HTTPS
nifi.web.https.host=0.0.0.0
nifi.web.https.port=8443
Security Properties (Lines ~170-180)
# ENABLE keystore/truststore settings
nifi.security.keystore=./conf/keystore.jks
nifi.security.keystoreType=JKS
nifi.security.keystorePasswd=changeit
nifi.security.keyPasswd=changeit
nifi.security.truststore=./conf/truststore.jks
nifi.security.truststoreType=JKS
nifi.security.truststorePasswd=changeit
# ENABLE Authentication
nifi.security.user.authorizer=single-user-authorizer
nifi.security.allow.anonymous.authentication=false
nifi.security.user.login.identity.provider=single-user-provider
🎯 Initial Setup
cd /mnt/c/nifi-1.25.0
./bin/nifi.sh start
tail -f logs/nifi-app.log
# Wait for: "NiFi has started. The UI is available at the following URLs:"
# Access: http://localhost:8080/nifi
🔒 HTTPS Configuration
Step 1: Stop NiFi
cd /mnt/c/nifi-1.25.0
./bin/nifi.sh stop
Step 2: Generate SSL Certificates
# Generate keystore
keytool -genkeypair -alias nifi-key -keyalg RSA -keysize 2048 \
-keystore conf/keystore.jks -storepass changeit -keypass changeit \
-dname "CN=localhost, OU=NiFi, O=Apache, L=Melbourne, ST=VIC, C=AU" \
-validity 365
# Export certificate
keytool -exportcert -alias nifi-key -keystore conf/keystore.jks \
-storepass changeit -file conf/nifi-cert.pem
# Create truststore and import certificate
keytool -importcert -alias nifi-cert -file conf/nifi-cert.pem \
-keystore conf/truststore.jks -storepass changeit -noprompt
# Verify certificates created
ls -la conf/*.jks conf/*.pem
Step 3: Configure nifi.properties
nano conf/nifi.properties
# Apply Profile 2 (HTTPS) configuration
# Save: Ctrl+O, Enter
# Exit: Ctrl+X
Step 4: Set User Credentials
./bin/nifi.sh set-single-user-credentials admin MyPassword123!
Step 5: Start NiFi
./bin/nifi.sh start
tail -f logs/nifi-app.log
# Wait for startup message
Step 6: Access Secure NiFi
- Open browser:
https://localhost:8443/nifi - Accept security warning (Advanced → Proceed to localhost)
- Login with:
admin/MyPassword123!
🔄 Switching Between Configurations
Method 1: Manual Edit
cd /mnt/c/nifi-1.25.0
# Stop NiFi
./bin/nifi.sh stop
# Edit configuration
nano conf/nifi.properties
# Apply desired profile settings
# Start NiFi
./bin/nifi.sh start
Method 2: Configuration Backup Files (Recommended)
cd /mnt/c/nifi-1.25.0/conf
# Save HTTP development config
cp nifi.properties nifi.properties.http-dev
# Save HTTPS production config
cp nifi.properties nifi.properties.https-prod
cd /mnt/c/nifi-1.25.0
# Stop NiFi
./bin/nifi.sh stop
# Switch to HTTP Development
cp conf/nifi.properties.http-dev conf/nifi.properties
# OR Switch to HTTPS Production
cp conf/nifi.properties.https-prod conf/nifi.properties
# Start NiFi
./bin/nifi.sh start
🔍 Troubleshooting
Check NiFi Status
./bin/nifi.sh status
View Logs
# View full log
cat logs/nifi-app.log
# Monitor live logs
tail -f logs/nifi-app.log
# Search for errors
grep -i error logs/nifi-app.log
# Find password in logs
grep -i 'password\|initial security' logs/nifi-app.log
Port Verification
# Check if HTTP port 8080 is listening
sudo netstat -tulpn | grep 8080
# Check if HTTPS port 8443 is listening
sudo netstat -tulpn | grep 8443
Reset Flow Configuration
cd /mnt/c/nifi-1.25.0
# Stop NiFi
./bin/nifi.sh stop
# Backup current flows
mv conf/flow.xml.gz conf/flow.xml.gz.backup 2>/dev/null
mv conf/flow.json.gz conf/flow.json.gz.backup 2>/dev/null
# Start with clean state
./bin/nifi.sh start
Common Issues
./bin/nifi.sh status✓ Solution: Verify correct URL for your configuration (HTTP vs HTTPS)
./bin/nifi.sh set-single-user-credentials admin MyPassword123!
sudo netstat -tulpn | grep 8443✓ Solution: Stop NiFi and start again:
./bin/nifi.sh stop && ./bin/nifi.sh start
📋 Quick Reference
| Action | Command |
|---|---|
| Start NiFi | ./bin/nifi.sh start |
| Stop NiFi | ./bin/nifi.sh stop |
| Check Status | ./bin/nifi.sh status |
| Monitor Logs | tail -f logs/nifi-app.log |
| HTTP URL | http://localhost:8080/nifi |
| HTTPS URL | https://localhost:8443/nifi |
| Default User | admin |
| Default Password | MyPassword123! |