Support Questions
Find answers, ask questions, and share your expertise

NiFi not starting in Sandbox HDF 3.0

New Contributor

I downloaded Sandbox HDF 3.0 via Docker. The Sandbox is running and there is a green check next to NiFi, but I am unable to start NiFi. I tried both approaches on this page:

https://hortonworks.com/tutorial/analyze-transit-patterns-with-apache-nifi/section/2/#step-1-open-hd...

and I am getting connection refused on local host for NiFi. What else should I try? I've seen similar questions about changing the password, but I don't have context on which passwords. Thanks in advance.

14 REPLIES 14

@Lucy Tan Could you verify the NiFi URL that you're trying? Is it "sandbox-hdf.hortonworks.com:9090/nifi"? Or using port 19090?

Hello, i have the same problem. I tried diffrent NiFi UI ULR but still it does not work. Additionally, i changed port in NiFi config (in ambari, with restart) ale still have the same problem. I connected to server using PuTTy and i could not found NiFi files. I found only one XML file in NiFi folder but it is all. I looks like i don't have installed NiFi but i have green check nex to NiFi in ambari (WEB). Any suggestions ? It my first time with hadoop so perhaps i miss something.

Connect to sandbox by putty or git bash and wrtie command "service shellinaboxd status". If it is stopped then "service shellinaboxd start".

Contributor

I have the same issue as @Lucy Tan. In fact, none of the UIs (nifi, storm, etc.) will open EXCEPT for Ambari.

1. Running from HDF_3.0_docker_12_6_2017.tar.gz on Docker 17.09.0-c3-win33 (13620) running on Windows 10 Professional.

2. I have added sandbox-hdf.hortonworks.com to my Windows hosts file. It seems to be pingable from the command line, but inaccessible from IE or Chrome. I have been able to substitute localhost for the Ambari dashboard.

3. Using putty I can successfully ssh into the sandbox, but the sandbox-version command is not found.

New Contributor

I have the same issue with docker running on Mac

New Contributor

I have the same issue HDF image HDF_3.0_docker_12_6_2017. I can access Ambari and even Web Shell Client from the Quick Links but not NIFI. From Web Shell Client I can see that NIFI is running:

netstat -anp | grep 19090

comes back with

tcp 0 0 172.17.0.2:19090 0.0.0.0:* LISTEN 1622/java

when I check the 1622 process ID:

[root@sandbox-hdf ~]# ps -ef | grep 162
nifi       1622   1606 13 19:46 ?        00:01:04 /usr/lib/jvm/java/bin/java -classpath /usr/hdf/current/nifi/conf:/usr/hdf/current/nifi/lib/javax.servlet-api-3.1.0.jar...

In the log files under var/log/nifi I see no errors.

What I noticed is that the script that I use to start sandbox image was missing port mapping for 19090:
 docker run --name sandbox-hdf --hostname "sandbox-hdf.hortonworks.com" --privileged -d `
    -p 9999:9999 `
    -p 12181:2181 `
    -p 26000:16000 `
...
so -  added the port 19090 to this but it made no difference.
The only explanation I can think of is that docker file that was used to build this image did not specify that 19090 port should be exposed. 
To check that I run docker ps and found my container ID for hortonworks sandbox and then I inspected that with
docker inspect 8798372c4746 (which was my container ID)
it comes back with JSON response and in the section "ExposedPorts" - the 9090 was there but 19090 was not.
So - to test this theory - I modified nifi.properties file in /usr/hdf/current/nifi/conf directory and changed the web port from 19090 to 9090 and then restarted NIFI using scripts from /usr/hdf/current/nifi/bin directory (nifi.sh restart)
Now I can connect to http://sandbox-hdf.hortonworks.com:9090/nifi/ and get the NIFI screen.
I can make the new docker image from the Hortonworks one with this port change - but it would be better if Hortonworks fixes this since all their quick links point to 19090 (not 9090). I presume that the same issue is for the other apps that don't start from this image (either ports are not exposed or the start script does include these)


Contributor

@Rad Andric @Edgar Orendain I can confirm Rad's findings. After changing the Nifi HTTP port (non-SSL) in the advanced nifi-ambari-config panel, I am now able to launch the Nifi UI on the HDF 3.0 sandbox from http://localhost:9090/nifi/

@Dave Welden @Tok Luo @Rad Andric

After verifying that Ambari is up and that a particular service is up (it's got the green light in Ambari), let's say NiFi for example, can you navigate to http://localhost:9090 ? Let's also go ahead and try http://localhost:19090 (notice the '1' in the port), in case you're working in a specific version of the HDF sandbox.

If the localhost domain works, but sandbox-hdf.hortonworks.com does not, then it's an issue with the host aliasing. Any issues using localhost? Let's get to the bottom of this!

Edgar

Contributor
@Edgar Orendain

I discovered that the issue with hitting sandbox-hdf.hortonworks.com is related to a PAC proxy. Easy solution was to change my Windows 10 host file to map 127.0.0.1 to sandbox-hdf instead. Then when I launch any UI, I edit out the .hortonworks.com from the URL to proceed. Alternatively, I can edit the URL to localhost instead.

Contributor

@Edgar Orendain

Using the HDF 3.0 sandbox Docker image. Nifi service has the green checkmark, so service is up. It is the Nifi UI that will not launch. Thinking that the port mapping might be the issue, I removed the container and image, edited the start_sandbox-hdf.ps1 script to include a port mapping

-p 19090:9090

reloaded the image and ran the startup script. UI still will not load with either port number with either localhost or sandbox-hdf. I am able to launch the Ambari UI so I don't think this problem is related to the hostname.

New Contributor

Edgar - the reason why -p 19090:9090 will not work is that nifi.properties file has 19090 as web port (not 9090). 19090 is not exposed in the docker image (you can run docker inspect sandbox-hdf to check). In my opinion there are 2 solutions to this problem:

1. Build new docker image where nifi.properties has 9090 as port and then run it with -p 19090:9090

2. Create new docker image where 19090 port is exposed and then run it with -p 19090:19090

New Contributor

@Dave - I tried -p 19090:19090 and that worked for me. As you said - I had to make sure that I remove all containers (active or stopped) with sandbox-hdf tag before I started the script again. If you add above port to docker run command (with all other ports) it will open that port and then everything worked for me.

I also tried creating new docker image where I would update nifi.properties file so that it runs on 9090 (instead of 19090) but that did not work for me. I used docker file like:

FROM sandbox-sdf:latest
COPY nifi.properties /usr/hdf/current/nifi/conf/

where nifi.properties was my local copy with 9090 port in it. When the containers starts I can see my change included - but during the NIFI service start - this gets overridden to 19090 from somewhere.

In any case adding this additional port instruction is much easier - it is just a start script change.

Contributor

Good to know. I encounter so many of these port mapping issues with the sandbox tutorials that I find it easier to change the configs in the sandbox. Easier anyway than scrapping and starting over with a new sandbox and losing all of my prior work. Would be nice if one could add docker port mappings to an existing container, but I have not found a reliable method for it.

New Contributor

Below url worked for me.

http://127.0.0.1:9090/nifi/


regards

Papil

; ;