本文章为云计算课程实验总结。
前言
-
CentOS7虚拟机搭建hadoop集群,共3个节点:master、slave1、slave2
-
软件:java1.8 hadoop2.6.0
-
3台虚拟机都装有CentOS7(最小化安装)系统,一台机命名为 master 作为 namenode,另两台为slave1和slave2,作为 datanode。
虚拟机配置
用户名 | Host-IP | 网关 | HostName(互 ping 时的机器名) | 内存 | 硬盘 | HDFS | YARN | 备注 |
---|---|---|---|---|---|---|---|---|
Master | 172.16.24.38 | 172.16.24.254 | master | 2GB | 40GB | NameNode | ResourcesManager | 集群主节点 |
Slave1 | 172.16.24.79 | 172.16.24.254 | slave1 | 1GB | 20GB | DataNode | NodeManager | 计算调度 |
Slave2 | 172.16.24.48 | 172.16.24.254 | slave2 | 1GB | 20GB | DataNode | NodeManager | 数据计算节点 |
注:虚拟机安装及IP地址等信息比较简单,这里不给出。
搭建Hadoop集群环境
(1)设置主机名和 IP 地址分配(/etc/hosts):修改系统文件需要root权限
master、slave1、slave2三台机器都需要设置,可先在master配置,在复制到slave1、slave2中(也可单独设置):vi /etc/hosts
。
scp /etc/hosts root@slave1:/etc/ #复制/etc/hosts文件到slave1
scp /etc/hosts root@slave2:/etc/
(2)使用root用户为三台虚拟机各自创建一个hadoop账户并为其设置密码,专门负责操作与 hadoop 相关的业务。
useradd hadoop #创建hadoop用户
passwd hadoop #为hadoop设置密码
(3)设置三台机器之间免密码登陆:(使用 hadoop 用户)
-
在 master 机器上使用 hadoop 用户生成 master 机器节点的 hadoop 账户密钥对:
ssh-keygen -t rsa
。 -
在 master 机器上为 slave1 和 slave2 生成各自的密钥对。
ssh slave1 ssh-keygen -t rsa ssh slave2 ssh-keygen -t rsa
-
将所有的公钥文件汇总到master机器上的一个总的授权key文件 au