记录一下Hadoop3.0.0在3个虚拟机中模拟分布式安装的过程,用于日后练习Hadoop和MR相关
欢迎访问排版更好的原文链接,https://www.casscw.cn/index.php/archives/65/
虚拟机
选择的是Virtul Box,占用资源比较少
- 系统:Ubuntu Server 16.04 x64
- Virtual Box 5.2.6
- PC配置:16G内存,CPU I5
安装过程没什么特别的,为了方便本文中所有用户名均设置为hadoop,值得注意的是,要对启用的虚拟机开启局域网访问,步骤如下
首先需要添加一个NAT网络
其次需要将虚拟机网卡添加一个NAT网络
值得注意的是,每个虚拟机最好配置两张网卡,仅仅有一个NAT网络会导致虚拟机无法连接外网。这配置多张网卡时,需要在虚拟机中确认是否所有网卡已经正常开启,可以通过查看/etc/network/interfaces的配置或者ifconfig -a
来检测。
修改主机名
主机名即hostname,文件位于/etc/hostname,将其中一台设置为master,另外两台分别设置为slave1、slave2。修改完成后重启便可以生效
修改hosts
修改hosts文件,位于/ets/hosts,将master、slave1和slave2对应的ip地址和主机名输入到每台机器中
10.0.2.4 master
10.0.2.5 slave2
10.0.2.6 slave1
配置ssh免登陆
在三台机器上分别执行ssh-keygen -t rsa
,然后回车至结束,在master上进入到根目录下的.ssh文件夹
cat id_rsa.pub >> authorized_keys
scp authorized_keys hadoop@slave1:~/.ssh
scp authorized_keys hadoop@slave2:~/.ssh
关于上述命令的说明,第一行是将master的公钥复制到authorized_keys文件中,第二行第三行是分别将authorized_keys文件复制到slave1和slave2的.ssh文件夹中,代表master免密码ssh登陆slave1和slave2。值得注意的是,这边的ip地址均用了主机名代替,如果上面的修改hosts等步骤出错这边也将无法进行下去
配置JDK1.8
Hadoop3.0好像要求最低JDK8.0,到官网下载压缩版本解压至任意目录,然后添加环境变量
export JAVA_HOME=/home/hadoop/tools/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib: