service heartbeat start
did not return anything. Exit code was 0 and not a single line of output. Weird?
bash -x /etc/init.d/heartbeat
showed that the script exited with code 0 after this line
[ -x /usr/libexec/heartbeat/heartbeat ]
Which turned out to be the following line in the script:
[-x $HA_BIN/heartbeat ] || exit 0
Looking up the file manually showed it wasn't there (which was weird again because I installed heartbeat using yum and I find yum to be rather reliable). So the heartbeat binary was missing. After googling for a few minutes I ran across this GitHub issue https://github.com/ClusterLabs/resource-agents/issues/330 mentioning that
The heatbeat init script expects the heartbeat binary resides in $HA_BIN/heartbeat (/usr/lib64/heartbeat/heatbeat) but it now tries to look /usr/libexec/heartbeat/heartbeat and fails.
Looking up the file /usr/lib64/heartbeat/heartbeat showed: yes, here it was. Adding a symlink to /usr/libexec/heartbeat/heartbeat like suggested at https://github.com/ClusterLabs/resource-agents/pull/285:
ln -s /usr/lib64/heartbeat/heartbeat \
Fortunately this fixed the issue and my heartbeat cluster is up and running since then.
Special thanks to
@kskmori and @joelgriffiths on GitHub
as well as the team of heartbeat and Linux HA, of course.