Currently, master RPC server (not info server) always binds to the address endpoint to which the default hostname of the server resolves to. However, master registry picks the default end point to connect to as "localhost:16000" when "hbase.masters" are not configured. This is leading to a mismatch because the server may not be listening on the loopback address. This is a problem only in the scripts (single proc/pseudo distributed modes) because these are the cases in which "hbase.masters" is not populated by default.
The fix is to pick the service endpoint the same way the RPC server does it.