I was able to run Kudu in devicemapper / direct-lvm, but I needed to use CentOS 7 to use devicemapper.
The steps were here:
Along the way though, I encountered this problem:
I overcame that by changing the dm.basesize to 200G (from 10G).
This is because the Impala Docker image is huge. I know that it's around 100G and figured 200G would be plenty.
I also encountered this problem:
I overcame that by using docker run --cap-add=SYS_ADMIN --security-opt=seccomp:unconfined.
But this solution seems flaky: the first time I did this, I hit the issue 7459 problem again. Another time, Kudu complained about not being able to contact NTP. The next morning, things worked. This is pretty unreliable.
Moreover, the instructions for setting up devicemapper on this page https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/ don't work for Ubuntu. There are LVM2 commands called for that don't exist and other LVM2 commands whose options don't exist. This means someone else needed to run the query generator on Ubuntu has to solve the same problems I will if I continue down that path. We already have 2 workarounds; we will need even more to adapt for Ubuntu.
Last, devicemapper isn't a preferred storage driver in the community. While it was good to do some research here, I don't think it's tenable to use devicemapper as the solution.