1.环境
本文使用两个节点作为集群,hadoop1主机作为主节点,hadoop2主机作为从节点。hadoop1通过Hadoop安装教程_伪分布式配置(Hadoop2.7.6/Ubuntu14.04 32位),hadoop2为hadoop1虚拟机的复制。在一台电脑上运行两个虚拟机搭建集群。
2.配置IP
因为在一台主机上运行两台虚拟机,所以选择NAT模式,虚拟机默认通过DHCP服务器获取IP地址,搭建集群需要固定IP,因此对于虚拟机需要将通过DHCP获取IP地址修改为指定IP地址。通过查看虚拟网络编辑器及DHCP设置,获取VMware的设置。在虚拟机中打开系统设置,选择硬件中的网络,打开选项,选择IPv4设置,将DHCP换成手动,根据DHCP分配的默认路由,DNS服务器的IP地址构建IP地址。VMware的DHCP默认从x.x.x.128分配,为了方便记忆,这里hadoop1使用192.168.216.210;hadoop2使用192.168.216.220.
3.修改主机名
因为hadoop2是直接复制的hadoop1虚拟机,所以两个主机名一样,通过修改/etc/hostname文件与/etc/hosts文件修改主机名。(主机名可以随意起),这里一个为hadoop2,一个为hadoop1。在hadoop2主机中通过gedit /etc/hostname
命令,打开hostname文件,将主机名hadoop1,修改为hadoop2。
通过gedit /etc/hosts
命令,打开hosts文件,将对应的映射127.0.0.1 hadoop1,修改为192.168.216.220 hadoop2,在hadoop2主机中添加192.168.216.10 hadoop1映射。在hadoop1主机中将对应的映射127.0.0.1 hadoop1修改为192.168.216.210 hadoop1,添加192.168.216.20 hadoop2映射。修改完成后hosts内容应包含如下映射。修改完成后使用reboot
命令重启主机或者通过界面重启主机后使配置文件生效。
127.0.0.1 localhost
192.168.216.210 hadoop1
192.168.216.220 hadoop2
此时在主机hadoop1中可以使用ping hadoop2
命令ping同hadoop2主机。
此时在主机hadoop2中可以使用ping hadoop1
命令ping同hadoop1主机。
4.配置SSH无密钥访问
因为hadoop2是直接复制的hadoop1虚拟机,hadoop1虚拟机已经配置好自身SSH免密登录,所以hadoop2与hadoop1拥有一样的公钥私钥,因此对hadoop2重新生成公钥和私钥。
通过cd ~/.ssh
进入到.ssh文件夹中,将文件夹中的所有文件使用rm
命令删除。图为.ssh文件夹中包含的内容。
在.ssh目录下执行命令ssh-keygen -t rsa
,生成id_rsa(私钥)和id_rsa.pub(公钥)。使用cp ~/.ssh/id_rsa.pub ~/.ssh/hadoop2.id_rsa.pub
将生成的公钥进行备份,使用命令scp ~/.ssh/hadoop2.id_rsa.pub hadoop1:~/.ssh
并远程拷贝到hadoop1文件夹中。其中SSH的登录密码为hadoop1的用户密码。
在hadoop1主机上,切换至.ssh目录,将hadoop2.id_rsa.pub追加到authorized_keys文件中。
cd ~/.ssh
cat hadoop2.id_rsa.pub >>