我这次的实践是借助虚拟机来搭建环境的,因此需要一些前期准备
1. 虚拟机
2.centos系统(系统的用户名需要一致。注:这样免密登录的时候比较方便)
3.jdk的安装
4.hadoop的安装包
在前期准备好了之后,我们首先做的第一步是:设置网络
在虚拟机设置项中选择桥接模式,关闭防火墙
然后将各个主机的网络设置在同一网段,如果想外面的主机可以ping通虚拟机内的主机,即将网络设置于外面的主机一致即可。
注: 有时候里面ping外面可能ping不通,这是因为外面的系统有防火墙阻碍
检验设置成功的标志是:各个主机之间可以ping通即可。
第二步是:设置免密登录
免密登录是为了方便,如果没有免密登录,每次开启hadoop的时候都要输入密码
切换用户名,确保自己当下是在各个主机相同的用户名下即可,root也行的。
在主节点master操作:
1.生成密钥,命令如下:
ssh-keygen -t rsa 然后一路回车
2. 复制公钥文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.修改authorized_keys的权限
chmod 600 ~/.ssh/authorized_keys
4.将authorized_keys文件复制到各个slave节点中
scp ~/.ssh/authorized_keys username@slave:~/ 注:username是用户名,修改成对应的用户名即可,slave是在hosts表中配置的,如果没有则使用ip地址
在slave节点操作:
1.生成密钥
ssh-keygen -t rsa
2.将authorized_keys文件移动到.ssh目录中
mv authorized_keys ~/.ssh/
3.修改authorized_keys的权限
chomd 600 ~/.ssh/authorized_keys
验证民密钥登录
ssh slave
可以进入slave的系统即可。如果需要输入密码,那就是没有配置成功
可能的情况有:1 用户名不一致 2.相应的配置没有做好
第三步:hadoop配置
将hadoop解压到一个文件中
因为各个节点中hadoop的设置是一样的,所以我们可以在主节点配置好,然后将配置好的hadoop发送到各个slave节点中
注:以下的全部hadoop路径是需要按照你自己的hadoop路径做相应的修改的
配置环境变量 hadoop-env.sh
gedit /home/bling/hadoop-2.5.2/etc/hadoop/hadoop-env.sh
找到:expo