这是我参与「第四届青训营 」笔记创作活动的第4天
Hadoop 集群简介
Hadoop集群整体概述
Hadoop集群包括两个集群:HDFS集群、YARN集群
两个集群逻辑上分离、通常物理上在一起
两个集群都是标准的主从架构集群
HDFS集群(分布式存储):主角色:NameNode、从角色:DataNode、主角色辅助角色:SecondaryNameNode
YARN集群(资源管理、调度):主角色:ResourceManager、从角色:NodeManager
那么就会有一下三个问题:
-
如何理解两个集群逻辑上分离?
-
如何理解两个集群物理上在一起?
-
为什么没有MapReduce集群?有这样的说法吗?
Hadoop集群简介
Hadoop集群=HDFS集群+YARN集群
针对之前提出的问题解答:
逻辑上分离
两个集群互相之间没有依赖、互不影响
物理上在一起
某些角色进程往往部署在同一台物理服务器上
MapReduce集群呢?
MapReduce是计算框架、代码层面的组件 没有集群之说
Hadoop集群模式安装(Cluster mode)
Hadoop源码编译
安装包、源码包下载地址
archive.apache.org/dist/hadoop…
为什么要重新编译Hadoop源码?
匹配不同操作系统本地库环境,Hadoop某些操作比如压缩、IO需要调用系统本地库(.so|.dll)
修改源码、重构源码
如何编译Hadoop
源码包根目录下文件:BUILDING.txt
Step1:集群角色规划
角色规划的准则
根据软件工作特性和服务器硬件资源情况合理分配
比如依赖内存工作的NameNode是不是部署在大内存机器上?
角色规划注意事项
资源上有抢夺冲突的,尽量不要部署在一起
工作上需要互相配合的。尽量部署在一起
| 服务器 | 运行角色 |
|---|---|
| node1.itcast.cn | namenode datanode resourcemanager nodemanager |
| node2.itcast.cn | secondarynamenode datanode nodemanager |
| node3.itcast.cn | datanode nodemanager |
Step2:服务器基础环境准备
主机名(3台机器) vim /etc/hostname
Hosts映射(3台机器) vim /etc/hosts
防火墙关闭(3台机器)
systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service #禁止防火墙开启自启
ssh免密登录(node1执行->node1|node2|node3)
ssh-keygen #4个回车生成公钥、私钥 ssh-copy-id node1、ssh-copy-id node2、ssh-copy-id node3 #
集群时间同步(3台机器) yum -y install ntpdate ntpdate ntp4.aliyun.com
创建统一工作目录(3台机器)
mkdir -p /export/server/ #软件安装路径 mkdir -p /export/data/ #数据存储路径 mkdir -p /export/software/ #安装包存放路径