![35ad3e9d95527ebab724bb59bded7047.png](https://i-blog.csdnimg.cn/blog_migrate/70443c9a463a36be965ac3bbb879fd37.jpeg)
在准备好3台虚拟机,并安装好jdk和hadoop后,我们开始进行集群配置,首先要做一个集群配置的规划,也就是将不同的角色放到不同的虚拟机上。
hadoop的三个核心部分
- Hdfs 数据存储
- Yarn 资源调度
- MapReduce 计算框架
这里我们要规划分配的是Hdfs和Yarn的角色。
Hdfs的结构
![35986bf138ac2d02fdad5f0094ac9d0b.png](https://i-blog.csdnimg.cn/blog_migrate/27329a7ee4e5d303545444603cb685e7.jpeg)
1.NameNode (数据的索引) 主角色 名字节点 统筹信息,统筹数据存储的工作,本身不存储数据
2.DataNode (数据的本身) 数据节点 以块为单位存储数据(Block),默认128M一个块
3.Secondary NameNode(2NN)用来监控HDFS状态的辅助后台程序(辅助NameNode)
3台虚拟机中我们要选一台存放NameNode,另一台放2NN,并且每一台虚拟机都存放一个DataNode。
Yarn的结构
![88aeb6806df2da1c6483d0f91c7ae8a3.png](https://i-blog.csdnimg.cn/blog_migrate/203415cf523d490f348a7c552214d80e.jpeg)
1.Resource Manager:负责统筹管理集群的计算资源,响应资源请求,协调NodeManager。
2.Node Manager:负责管理物理机器上与容器的协调。
3.Application Master :做应用内的资源协调和申请。
4.container:对任务运行环境的抽象,封装了CPU、内存等多维资源及环境变量、启动命令等任务运行相关信息。
3台虚拟机中选择一台存放Resource Manager,每台虚拟机存放一个Node Manager。
集群部署规划
生产环境中,一般NN、RN、2NN是不会和DN、NM混搭的,但是对于个人PC端来说,16G内存无法支撑6台虚拟机,因此采取3台虚拟机混搭的模式。