初识Hadoop集群
学校之前学习过Hadoop,只是记得当时老师搭建Hadoop环境就用了很久的时间,不过实话说,集群搭建的话真的很耗时间。而且搭建这个集群是比较重要的一步操作,因为数仓的底层用的就是Hadoop。
后面会有具体搭建Hadoop集群的步骤,这里就不再啰嗦了。
Apache Hadoop是什么!
hadoop 广义上来说 hadoop整个生态,狭义来说,大数据软件
hadoop 软件分为三个组件(见名知意)
- HDFS(Hadoop Distributed File System): 分布式存储系统
- MapReduce: 分布式计算引擎
- Yarn: 分布式资源调度平台
什么是分布式:
- 打个比方,做一道菜需要有切菜(多个人),洗菜(多个人),买菜(多个人),这个过程中切,洗,买就构成了分布式。而在切菜中多个人就算一个集群,集群中的人做相同的事情。
大数据的三驾马车
2003, 谷歌发表GFS, 道格·卡丁(Doug Cutting)开源, 叫: HDFS(Hadoop Distributed File System)
2004, 谷歌发表MapReduce, 道格·卡丁(Doug Cutting)开源, 叫: MapReduce
2006, 谷歌发表BigTable, 道格·卡丁(Doug Cutting)开源, 叫: HBase
Hadoop版本简介
- 社区版: 指的是Apache Hadoop, 免费的, 稳定性稍差, 但是更新速度快.
- 商业版: 指的是 CDH, 星环(国内)等, 收费的, 稳定性较好, 但是更新周期相对较慢.
Hadoop的三大发行版本, 各有什么优缺点
- 免费开源版本Apache Hadoop
优点:代码更新块,拥有全世界的开源贡献者
缺点:版本维护难,兼容性较差
- 免费开源版本HortonWorks
完全开源,包含稳定版本的hadoop的所有组件,安装方便
- 免费开源版本Cloudera
完全开源,安全性和稳定性比apache更强
hadoop1.x 架构和hadoop2.x 架构
hadoop2.x 相比hadoop1.x 版本对比,Hadoop 2.x增加了一个新的角色Yarn
Hadoop组件中的各个角色
HDFS(Hadoop Distributed File System)
1 | namenode角色: 大哥, 主节点 |
Namenode
- 1, 管理整个hdfs集群
- 2, 管理元数据
secondaryNameNode
- 辅助namenode管理元数据
Datanode
- 1, 存储真实数据
- 2, 负责数据的读写操作
MapReduce
代码级别的, 没有角色划分, 直接通过Python或者Java操作它即可
MapReduce的核心思想: 分而治之的思想
- 将一个大的问题,拆分成许多小的问题,将每个小的问题,进行分别计算处理操作,得到局部结果后,在进行合并为最终的结果即可.
Yarn
ResourceManager(yarn集群主节点)
- 1, 负责(CPU和内存)资源分配
- 2, 负责任务接收
APPmaster
- 负责任务分配以及向resourcemanager申请资源,运行在NameNode上
Nodemanager
- 负责执行APPmaster分配过来的任务
Hadoop各个组件端口号
HDFS的WebUI界面
node1:9870
# 如果hosts文件没有配域名映射, 记得写IP 192.168.88.161Yarn的WebUI界面
node1:8088
# 如果hosts文件没有配域名映射, 记得写IP 192.168.88.161历史服务的WebUI界面
node1:19888
# 如果hosts文件没有配域名映射, 记得写IP 192.168.88.161
Hadoop简单案例
通过Linux的可视化工具(例如: Tabby, CRT等)连接这3台虚拟机.
这3台虚拟机在:链接https://www.aliyundrive.com/drive/folder/645cefcbb18cd4cb3f7a48e59d7dfdea14f992ed
去windows的 C:\windows\system32\drivers\etc\hosts 文件中, 配置域名映射
1
2
3192.168.88.161 node1 node1.itcast.cn
192.168.88.162 node2 node2.itcast.cn
192.168.88.163 node3 node3.itcast.cn开启Hadoop集群.
1
2
3如下的命令是在 node1机器做的.
start-all.sh # 启动Hadoop集群, 如果要关闭 用 stop-all.sh
mr-jobhistory-daemon.sh start historyserver # 启动历史服务,19888端口可用如何查看启动是否成功.
jps命令, 三台都执行.
1 | # 第一步,cd到hadoop/mapreduce这个目录下 |