Configuring Network Names
Configure each host in the cluster as follows to ensure that all members can communicate with each other:
- Set the hostname to a unique name (not localhost).
sudo hostnamectl set-hostname foo-1.example.com
- Edit /etc/hosts with the IP address and fully qualified domain name (FQDN) of each host in the cluster. You can add the unqualified name as well.
1.1.1.1 foo-1.example.com foo-1 2.2.2.2 foo-2.example.com foo-2 3.3.3.3 foo-3.example.com foo-3 4.4.4.4 foo-4.example.com foo-4
- Edit /etc/sysconfig/network with the FQDN of this host only:
HOSTNAME=foo-1.example.com
- Verify that each host consistently identifies to the network:
- Run uname -a and check that the hostname matches the output of the hostname command.
- Run /sbin/ifconfig and note the value of inet addr in the eth0 (or bond0) entry, for example:
$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:A4:E8:97 inet addr:172.29.82.176 Bcast:172.29.87.255 Mask:255.255.248.0 ...
- Run host -v -t A `hostname` and verify that the output matches the hostname command.
The IP address should be the same as reported by ifconfig for eth0 (or bond0):
$ host -v -t A `hostname` Trying "foo-1.example.com" ... ;; ANSWER SECTION: foo-1.example.com. 60 IN A 172.29.82.176
- For YARN: ensure conf/core-site.xml and conf/yarn-site.xml have the hostnames (not the IP addresses) of the NameNode, the ResourceManager, and ResourceManager Scheduler. See Customizing Configuration Files and Setting Up MapReduce v2 with YARN Using the Command Line.
- Ensure components that depend on a client-server relationship (Oozie, HBase, ZooKeeper) are properly configured: