{ glenmccallumcan }

Running the Cloudera Quickstart Docker Image with WSL 2 and Powershell

Jan 17, 2021
2 minutes

In my exploration of tools for data engineering and analytics I stumbled on the Cloudera Quickstart Docker Image. It appears to be a one stop shop for getting a full data environment running on your laptop - single node. It’s not suitable for processing serious data but you can use it for learning or demoing. Only problem is it is a little older and no longer supported. What a shame.

The issue was the image wouldn’t run in docker for windows. Every attempt it would exit with code 139. Now I’m not partial to windows (or any OS … maybe OpenBSD) but the laptop was issued to me with windows so I use it. A workaround would be to run a linux machine in a vm - but that just doesn’t feel right to me. Run virtualization in order to run another layer of virtualization. You understand I’m sure.

After some research I learned it is a problem with compatibility between the base image OS (cloudera quickstart docker image) and WSL 2. I believe the solution below enables a mode to emulate hyper-v. For my own sanity I’m documenting the solution here in case I ever pass down this road again.

1. Create file at

C:\Users\gmccallum\.wslconfig

2. Add these 2 lines:

[wsl2]
kernelCommandLine = vsyscall=emulate

3. Restart WSL using command:

wsl --shutdown

4. Restart Docker Desktop

5. Run the docker command to start cloudera quickstart

docker run --hostname=quickstart.cloudera --privileged=true -t -i -v /Users/gmccallum/cloudera-files:/cloudera-files --publish-all=true -p 8888:8888 -p 80:80 cloudera/quickstart /usr/bin/docker-quickstart

Note. This has to be run in powershell. Didn’t work for me from git bash.