1.实验分布结构:
节点 | 责任描述 |
---|---|
主节点(1个,主机名hadoop) | NameNode、JobTracker、SecondaryNameNode |
从节点(2个,主机名hadoop1、hadoop2) | DataNode、TaskTracker |
- 主机名的配置:
[root@hadoop2 ~]# vi /etc/sysconfig/network
ps:编辑此文件:
HOSTNAME=hadoop2
成功设置主机名为hadoop2
[root@hadoop2 ~]# vi /etc/hosts
ps:设置完主机名后,仍需要把主机名跟主机IP绑定,编辑此文件添加一行记录:
192.168.137.130 hadoop
IP为主机IP后边为此IP对应解析的主机名。其他节点都设置好后,这里仍需要添加其他节点的IP和对应解析的主机名。
2.各个节点生成SSH免密码登录秘钥
- 生成公钥/私钥对
[root@hadoop2 ~]#ssh-keygen -t rsa
产生秘钥位于~/.ssh文件夹中(~ 表示当前用户目录,root的就是/root/.ssh,其他用户的就是/home/用户名/.ssh)
- 把生成的公钥()拷贝到目标主机上
[root@hadoop2 ~]# scp /root/.ssh/id_rsa.pub hadoop:/root/.ssh/id_rsa.pub.hadoop2
- 在目标主机上把刚拷贝来的公钥(id_rsa.pub.hadoop2)追加到/root/.ssh/authorized_keys
[root@hadoop ~]# cat /root/.ssh/id_rsa.pub.hadoop2 >> /root/.ssh/authorized_keys
- 验证
[root@hadoop2 ~]#ssh hadoop
ps:#(hadoop)为主机名
有关ssh免密码登陆,请看《SSH免密码登陆》
3.清除一些不必要的文件
把hadoop(主机名,为主节点)的hadoop目录下的logs和tmp删除
4.各节点从主节点复制文件
复制内容:
- JDK
- /etc/profile(环境变量)
- hadoop的安装目录
[root@hadoop ~]#scp -r /usr/local/jdk hadoop1:/usr/local/
ps:hadoop的复制同示例命令,所以节点都需要拷贝主机的JDK和hadoop的安装目录
[root@hadoop1 ~]#source /etc/profile
ps:在拷贝到的目标节点下需要使拷贝的环境变量文件生效
5.设置主从关系
配置slaves文件
[root@hadoop conf]# vi /usr/local/hadoop/conf/slaves
改为
hadoop1
hadoop2
ps:hadoop1,和hadoop2是另外两个节点
6.格式化
在主节点hadoop下执行:
[root@hadoop conf]#hadoop namenode -format
7.启动
在主节点hadoop执行
[root@hadoop conf]#start-all.sh
8.注意
配置文件core-site.xml和mapred-site.xml在所有节点中都是相同的内容