Releasing HBase on Linux with Podman

Mar 25, 2026

I have previously released artifacts for Apache HBase using MacOS and Windows 11 + WSL2. Now I am running a native Linux installation, and so I again have some minor details to work through. This install is built on systemd, which is of minor concern. More interestingly, I decided to drop Docker and instead use Podman and crun as my interface over Linux containers.

Installing and configuring Podman is pretty straightforward. Running in rootless mode seems the prudent thing to do. However, the wiki warns about CONFIG_USER_NS_UNPRIVILEGED being risky ; I haven’t looked into it in detail.

HBase’s do-release-docker.sh system takes pains to map the host uid into the container. The default Podman configuration doesn’t agree with this. The --userns parameter lets you tweak this behavior, as does the PODMAN_USERNS environment variable. Set it to the behavior required to keep-id.

Running the release takes a minute, that’s where the systemd detail comes in. Most systems are configured with aggressive power saving. Without user input, the system will quickly power down. Long-running terminal commands are not recognized as user input. On MacOS I use caffeinate to keep the system awake. On a Linux system running with systemd, I use systemd-inhibit for the same purpose.

Bring it all together like so:

systemd-inhibit \
    env PODMAN_USERNS=keep-id \
    hbase/dev-support/create-release/do-release-docker.sh \
    -d ${HOME}/tmp/2.6.1RC0 \
    -p hbase \
    -f