If the provided ip address is not the same as the default interface's ip(that the hostname gets resolved to), the Yarn nodemanager get confused. Discrepancy between interface name and host name. Yarn nodemanager sets host name to interface name (wrong).
Possible discrepancy in the code - some place binds on a getHost instead of the provided ip.