The Hortonworks Sandbox running on Azure requires opening ports a bit differently than when the sandbox is running locally on Virtualbox or Docker. We’ll walk through how to open a port in Azure so that outside connections make their way into the sandbox, which is a Docker container inside an Azure virtual machine.
Note: There are multiple ways to open ports to a Docker container (i.e. the sandbox). This tutorial will cover the simplest method, which reinitializes the sandbox to its original state. In other words, you will lose all changes made to the sandbox.
If you followed the previous tutorial, Deploying Hortonworks Sandbox on Microsoft Azure, this step is as easy as running:
Otherwise, follow whichever method you prefer to SSH into the Azure VM that is running the sandbox.
The script in the Azure VM that is responsible for creating the dockerized Sandbox container is located at
Note: You’re probably not logged in as root, so do not forget to sudo your commands.
/root/start_scripts/start_sandbox.sh to reveal the docker script, which looks something like the following:
docker run -v hadoop:/hadoop --name sandbox --hostname "sandbox.hortonworks.com" --privileged -d \ -p 6080:6080 \ -p 9090:9090 \ -p 9000:9000 \ -p 8000:8000 \ -p 8020:8020 \ -p 2181:2181 \ -p 42111:42111 \ ...
Edit this file and add your desired port forward. In this example, we’re going to forward host port 15000 to sandbox port 15000. The file should now look something like the following:
docker run -v hadoop:/hadoop --name sandbox --hostname "sandbox.hortonworks.com" --privileged -d \ -p 15000:15000 \ -p 6080:6080 \ -p 9090:9090 \ -p 9000:9000 \ -p 8000:8000 \ -p 8020:8020 \ -p 2181:2181 \ -p 42111:42111 \ ...
Terminate the existing sandbox container, and then remove it.
Warning: Be aware that this deletes the sandbox, changes are not saved.
sudo docker stop sandbox sudo docker rm sandbox
We now restart the Azure VM. Upon restart, the script we modified above will be run in order to start the sandbox container. Since we removed the container in the previous step, the sandbox container is first rebuilt with your newly specified port forwards.
You may restart the Azure VM by stopping and starting via the Azure Portal, or you can execute the following while SSH’d in.
sudo init 6
If you’re connecting to Azure via SSH tunneling, be sure to add new forwarding directives to your SSH config. See the Deploying Hortonworks Sandbox on Microsoft Azure tutorial for more information.