先期准备
主机 | 系统 | ip地址 |
---|---|---|
hadoop-master | centos7 | 192.168.196.162 |
hadoop-slave1 | centos7 | 192.168.196.163 |
hadoop-slave2 | centos7 | 192.168.196.164 |
ps:大家使用克隆的方式复制多个独立的虚拟机,每个虚拟机创建一个Hadoop用户并加入到root组中useradd -m hadoop -G root -s /bin/bash
利用 passwd hadoop
配置密码遇到提示说密码简单就再输入一次
软件点击下面的下载:
jdk-8u121-linux-x64.rpm 或者访问 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
hadoop-2.7.3.tar.gz 不能下载的请访问 http://hadoop.apache.org/releases.html
网络配置
配置ip和主机名,hosts映射
利用root用户登陆hadoop-master主机上配置
- 1
- 1
打开网卡编辑如图
注意如果你是克隆的虚拟机那么每个虚拟机的网卡UUID是一样的,这个不行,所有要删除这个,让它自动在生成一个
重启网络服务systemctl restart network
我的实验是把上面图中的ip地址改为192.168.196.162
默认网关设置为192.168.196.2
为什么这么做,根据什么要看看你的虚拟机网络编辑器这个在虚拟机菜单 编辑 中 我的设置如图:
如果你在上图中设置取消了DHCP那么你想让你的电脑访问虚拟机就设置你的电脑中
配置静态IP如我一样
至此我们的主机和虚拟机就互通了,虚拟机还能访问外网。但是一定要明白我上面的设置。
修改hostnamevi /etc/hostname
删除原有内容添加 hadoop-master
保存退出vi
修改hosts vi /etc/
添加如下图内容
保存退出,重启虚拟机。在每个虚拟机里重复修改网卡(ifcfg-enss*),hostname,hosts 的步骤,重启后测试互通性
要求在hadoop-master中能ping通slave1,slave2。其它任何一个虚拟机中都能ping通另外连个才行
例如:
配置ssh无密码登陆到slave1,slave2上
检查每个虚拟机上是否安装了ssh 和 启动了sshd服务
rpm -qa | grep ssh
如图所示表示安装了
如果没有安装请执行下面的代码:
- 1
- 1
退出所有虚拟机上root登陆用户,使用hadoop用户登录
在每个虚拟机上执行 ssh localhost
测试一下,最好都做一下,非常有用,会生成 .ssh
隐藏文件夹,遇到提示输入yes
如图
在hadoop-master虚拟机上生成ssh密钥
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
至此hadoop-master可以无密码登陆自己了,测试 ssh localhost
不再提示输入密码,如果不争取请检查少了上面那一步
将hadoop-master的公钥传送到所有的slave上,实现hadoop-master无密码登陆到所有slave上