本文展示了如何在虚拟机上搭建并配置一个分布式的 Hadoop2.7.4 集群
一、软件准备
VMware-WorkStation
ubuntu-16.04.2-desktop-amd64.iso
hadoop-2.7.4.tar.gz
jdk-8u144-linux-x64.tar.gz
二、集群机器准备
在VMware 中安装三台虚拟机,如下:
这三台机器保证环境和用户名一致,这里使用baozi。
使用手动固定ip,否则后面在配置host文件的时候可能因为ip更换而出问题:
ip设置方法
iface eth0 inetstatic
address 192.168.65.128
netmask 255.255.255.0
gateway 192.168.65.2
配置好的ip地址,修改 /etc/hosts 文件,配置如下
三、配置 ssh 无密码访问集群机器
在三台机器中分别执行以下两个命令,以便无密码登录到 localhost。
先安装ssh和openssh-server
sudo apt-get install
sudo apt-get install openssh-server
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将 slave1 和 slave2 的公钥 id_dsa.pub 传给 master。
scp ~/.ssh/id_dsa.pub baozi@master:/home/baozi/ssh/id_dsa.pub.slave1
scp ~/.ssh/id_dsa.pub baozi@master:/home/baozi/ssh/id_dsa.pub.slave2
将 slave1 和 slave2的公钥信息追加到 master 的 authorized_keys文件中。
cat id_dsa.pub.slave1 >> authorized_keys
cat id_dsa.pub.slave2 >> authorized_keys
将 master 的公钥信息 authorized_keys 复制到 slave1 和 slave2 的 .ssh 目录下。
scp authorized_keys baozi@slave1:/home/baozi/.ssh/authorized_keys
scp authorized_keys baozi@slave2:/home/baozi/.ssh/authorized_keys
分别 ssh 到 slave1 和 slave2
可以看到从 master 已经不需要密码就可以登录到 slave1 和 slave 2。slave1 和 slave2 也无需密码访问另外两台机器,如下:
四、JDK 和 Hadoop 安装配置
分别在三台机器中安装 JDK 和 Hadoop,操作流程均是在自己的工作目录中,建立相应的文件夹,本文在/work/目录下分别建立java和hadoop目