Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 41 additions & 17 deletions mapr_devsandbox_container_setup.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,40 @@
#!/bin/bash
IMAGE=maprtech/dev-sandbox-container:latest

set -x

IMAGE="${1:-"maprtech/dev-sandbox-container:latest"}"
IP=$(ipconfig getifaddr en0)
clusterName="${clusterName:-"maprdemo.mapr.io"}"
hostName=$(echo ${clusterName} | cut -d '.' -f 1)

runMaprImage() {
echo "Please enter the local sudo password for $(whoami)"
sudo rm -rf /tmp/maprdemo
sudo mkdir -p /tmp/maprdemo/hive /tmp/maprdemo/zkdata /tmp/maprdemo/pid /tmp/maprdemo/logs /tmp/maprdemo/nfs
sudo chmod -R 777 /tmp/maprdemo/hive /tmp/maprdemo/zkdata /tmp/maprdemo/pid /tmp/maprdemo/logs /tmp/maprdemo/nfs

PORTS='-p 9998:9998 -p 8042:8042 -p 8888:8888 -p 8088:8088 -p 9997:9997 -p 10001:10001 -p 8190:8190 -p 8243:8243 -p 2222:22 -p 4040:4040 -p 7221:7221 -p 8090:8090 -p 5660:5660 -p 8443:8443 -p 19888:19888 -p 50060:50060 -p 18080:18080 -p 8032:8032 -p 14000:14000 -p 19890:19890 -p 10000:10000 -p 11443:11443 -p 12000:12000 -p 8081:8081 -p 8002:8002 -p 8080:8080 -p 31010:31010 -p 8044:8044 -p 8047:8047 -p 11000:11000 -p 2049:2049 -p 8188:8188 -p 7077:7077 -p 7222:7222 -p 5181:5181 -p 5661:5661 -p 5692:5692 -p 5724:5724 -p 5756:5756 -p 10020:10020 -p 50000-50050:50000-50050 -p 9001:9001 -p 5693:5693 -p 9002:9002 -p 31011:31011'
#export MAPR_EXTERNAL="0.0.0.0"
export MAPR_EXTERNAL=$(ipconfig getifaddr en0)

if [ "${IMAGE}" == "maprtech/dev-sandbox-container:latest" ]; then docker pull ${IMAGE}; fi
docker run -d --privileged -v /tmp/maprdemo/zkdata:/opt/mapr/zkdata -v /tmp/maprdemo/pid:/opt/mapr/pid -v /tmp/maprdemo/logs:/opt/mapr/logs -v /tmp/maprdemo/nfs:/mapr $PORTS -e MAPR_EXTERNAL -e clusterName -e isSecure --hostname ${clusterName} ${IMAGE} > /dev/null 2>&1

# Check if docker container is started wihtout any issue
sleep 5 # wait for docker container to start

CID=$(docker ps -a | grep dev-sandbox-container | awk '{ print $1 }' )
RUNNING=$(docker inspect --format="{{.State.Running}}" $CID 2> /dev/null)
ERROR=$(docker inspect --format="{{.State.Error}}" $CID 2> /dev/null)

if [ "$RUNNING" == "true" -a "$ERROR" == "" ]
then
echo "Developer Sandbox Container $CID is running.."
else
echo "Failed to start Developer Sandbox Container $CID. Error: $ERROR"
exit
fi
}

docker ps -a | grep dev-sandbox-container > /dev/null 2>&1
if [ $? -ne 0 ]
Expand Down Expand Up @@ -38,9 +71,9 @@ then
then
echo "Please enter the local sudo password for $(whoami)"
sudo sed -i '' '/maprdemo/d' /etc/hosts
sudo sh -c "echo \"${IP} maprdemo.mapr.io maprdemo\" >> /etc/hosts"
sudo sh -c "echo \"${IP} ${clusterName} ${hostName}\" >> /etc/hosts"
sudo sed -i '' '/maprdemo/d' /opt/mapr/conf/mapr-clusters.conf
sudo /opt/mapr/server/configure.sh -c -C ${IP} -N maprdemo.mapr.io > /dev/null 2>&1
sudo /opt/mapr/server/configure.sh -c -C ${IP} -N ${clusterName} > /dev/null 2>&1
# Change the external IP in the container
echo "Please enter the root password of the container 'mapr' "
ssh root@localhost -p 2222 " sed -i \"s/MAPR_EXTERNAL=.*/MAPR_EXTERNAL=${IP}/\" /opt/mapr/conf/env.sh "
Expand All @@ -56,9 +89,9 @@ then
docker start ${CID}
echo "Please enter the local sudo password for $(whoami)"
sudo sed -i '' '/maprdemo/d' /etc/hosts
sudo sh -c "echo \"${IP} maprdemo.mapr.io maprdemo\" >> /etc/hosts"
sudo sh -c "echo \"${IP} ${clusterName} ${hostName}\" >> /etc/hosts"
sudo sed -i '' '/maprdemo/d' /opt/mapr/conf/mapr-clusters.conf
sudo /opt/mapr/server/configure.sh -c -C ${IP} -N maprdemo.mapr.io > /dev/null 2>&1
sudo /opt/mapr/server/configure.sh -c -C ${IP} -N ${clusterName} > /dev/null 2>&1
# Change the external IP in the container
echo "Please enter the root password of the container 'mapr' "
ssh root@localhost -p 2222 " sed -i \"s/MAPR_EXTERNAL=.*/MAPR_EXTERNAL=${IP}/\" /opt/mapr/conf/env.sh "
Expand All @@ -67,20 +100,11 @@ then
fi
else
# There is no instance of dev-sandbox-container running. Start a fresh container and configure client.
echo "Please enter the local sudo password for $(whoami)"
sudo rm -rf /tmp/maprdemo
sudo mkdir -p /tmp/maprdemo/hive /tmp/maprdemo/zkdata /tmp/maprdemo/pid /tmp/maprdemo/logs /tmp/maprdemo/nfs
sudo chmod -R 777 /tmp/maprdemo/hive /tmp/maprdemo/zkdata /tmp/maprdemo/pid /tmp/maprdemo/logs /tmp/maprdemo/nfs

PORTS='-p 9998:9998 -p 8042:8042 -p 8888:8888 -p 8088:8088 -p 9997:9997 -p 10001:10001 -p 8190:8190 -p 111:111 -p 2222:22 -p 4040:4040 -p 7221:7221 -p 8090:8090 -p 5660:5660 -p 8443:8443 -p 19888:19888 -p 50060:50060 -p 18080:18080 -p 8032:8032 -p 14000:14000 -p 19890:19890 -p 10000:10000 -p 11443:11443 -p 12000:12000 -p 8081:8081 -p 8002:8002 -p 8080:8080 -p 31010:31010 -p 8044:8044 -p 8047:8047 -p 11000:11000 -p 2049:2049 -p 8188:8188 -p 7077:7077 -p 7222:7222 -p 5181:5181 -p 5661:5661 -p 5692:5692 -p 5724:5724 -p 5756:5756 -p 10020:10020 -p 50000-50050:50000-50050 -p 9001:9001 -p 5693:5693 -p 9002:9002 -p 31011:31011'
MAPR_EXTERNAL=$(ipconfig getifaddr en0)

docker pull ${IMAGE}
docker run -d --privileged -v /tmp/maprdemo/zkdata:/opt/mapr/zkdata -v /tmp/maprdemo/pid:/opt/mapr/pid -v /tmp/maprdemo/logs:/opt/mapr/logs -v /tmp/maprdemo/nfs:/mapr $PORTS -e MAPR_EXTERNAL=${MAPR_EXTERNAL} ${IMAGE} > /dev/null 2>&1
runMaprImage

sudo /opt/mapr/server/configure.sh -c -C ${IP} -N maprdemo.mapr.io > /dev/null 2>&1
sudo /opt/mapr/server/configure.sh -c -C ${IP} -N ${clusterName} > /dev/null 2>&1
sudo sed -i '' '/maprdemo/d' /etc/hosts
sudo sh -c "echo \"${IP} maprdemo.mapr.io maprdemo\" >> /etc/hosts"
sudo sh -c "echo \"${IP} ${clusterName} ${hostName}\" >> /etc/hosts"

echo
echo "Docker Container is coming up...."
Expand Down