Hadoop实战-part3

简介: Hadoop实战-part3

AI 的算法可以公开,样本库要买
公安的人脸识别样本库,只要10MB+

电商推荐系统,推荐系数,震荡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Hadoop 2代
SNN和NN切换不会丢失数据,且不需要人为干预切换,会自动执行
自动切换由ZK完成
第一次启动集群时,所有NN为Standby,需要手动把其中一台改为 active 状态
ZK通过竞争锁使一台StandBy NN变为 Active 状态; 谁拿到ZK的写权限,就拿到这个锁
ZK部署是奇数台

Journal Node
协同:不管任何机器,在监听的目录下执行任何操作,都会被监听到,并在其它ND上执行
监听NN中的edits
同步ANN和SNN中的数据
JN需要单独部署一台; 不能部署在master

NN
对外提供的只允许一台:active NN,其它的NN都是 standby 状态
部署1-5台就可以;
如何考量部署几台合适?
答:看机房归属管
自己管, 2台就可以,挂掉的NN可以马上修复
不归自己管,要保证修正前至少要有1台对外提供服务

DN与NN之间的的心跳
包含的内容
Block与DN本地文件的映射关系
自己还活着
节点的CPU、内存等资源信息信息
DN为什么要同时向ANN和SNN发送心跳?
DN与SNN、ANN发送心跳,因为除了edit fsimage 之外 还有一些东西JournalNode没有监听到
为了确保快速切换,standby状态的NameNode有必要知道集群中所有数据块的位置。

MS的架构一定要搭建HA ---->如何搭建HA?百度, 老师推荐的书

ZK
ZK管理NN,NN通过心跳的方式向ZK报道
ZK部署多台,可做ZK 的HA。 做HA的前提是:有一台 NN 有处于Active的状态;
如果NN 没有Active,则没有办法竞争,投票
ZK和NN不能同时挂掉;否则,需要人为干预
不是所有的ZK都低配;要看ZK的作用和所在位置

脑裂
同时存在多个Active的NN,就会出现脑裂
如: ZK监听不到 active NN的心跳信息,就把standby NN设置为active,一会原 NN you上线了
隔离(fencing),防止脑裂,即保证在任何时候只有一个NN 处于 Active的状态。
脑裂表现出的现象、问题:
JN就会出现问题
客户端的读写也会出现问题
Hadoop 2.5 版本以后彻底解决了脑裂问题; 如果还存在脑裂,一般就是配置问题

当有多台NN时如何使用?-----> Federation
在这里插入图片描述
图中DN-1到DN-6是六个DataNode,NN-1到NN-4是四个NameNode,分别组成两个HA的NS,再通过Federation组合对外提供服务。Storage Pool 1和Storage Pool 2分别对应这两个NS。我们在客户端进行了挂载表的映射,把/share映射到NS1,把/user映射到NS2,这个映射其实不光是要指定NS,还需要指定到其上的某个目录。
Federation :
多个NN共用一个集群里DN上的存储资源,每个NN都可以单独对外提供服务
每个NN都会定义一个存储池,有单独的id,每个DN都为所有存储池提供存储
DN会按照存储池id向其对应的NN汇报块信息,同时,DN会向所有NN汇报本地存储可用资源情况
如果需要在客户端方便的访问若干个NN上的资源,可以使用客户端挂载表,把不同的目录映射到不同的NN,但NN上必须存在相应的目录
NameService:Hadoop 2.0里对NN进行了一层抽象,提供服务的不再是NN本身,而是NameService(以下简称NS)。Federation是由多个NS组成的,每个NS又是由一个或两个(HA)NN组成的。

Federation:
搭建这个,会同时存在多个Active 的NN
DN要向所有NN发送心跳信息;因为多个Active 的NN数据文件落地会按照副本存放策略存储,不会限定在特定的DN上; 汇报的内容与NN和DN的心跳存在稍微的不同
什么情况会用到?
单个NN扛不住的时候
机房不在同一个地方
Federation 参考资料:
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/Federation.html
http://www.infoq.com/cn/articles/hadoop-2-0-namenode-ha-federation-practice-zh

高低配服务器混搭(DN)
不要做这种混搭;会造成任务的执行速度更慢、需要的时间更长
低配服务器只能作为存储
高配参与计算;低配只能作为存储
如果机器已买,则把高配服务器虚拟化为低配服务器;保持配置相同
DN需要高还是低配,看需求

相关文章
|
SQL 分布式计算 Hadoop
大数据行业部署实战1:Hadoop伪分布式部署
大数据行业部署实战1:Hadoop伪分布式部署
469 0
|
7月前
|
分布式计算 Java 大数据
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
723 0
|
7月前
|
分布式计算 大数据 Scala
【大数据技术Hadoop+Spark】Spark RDD创建、操作及词频统计、倒排索引实战(超详细 附源码)
【大数据技术Hadoop+Spark】Spark RDD创建、操作及词频统计、倒排索引实战(超详细 附源码)
322 1
|
6月前
|
存储 分布式计算 Hadoop
Hadoop Distributed File System (HDFS): 概念、功能点及实战
【6月更文挑战第12天】Hadoop Distributed File System (HDFS) 是 Hadoop 生态系统中的核心组件之一。它设计用于在大规模集群环境中存储和管理海量数据,提供高吞吐量的数据访问和容错能力。
671 4
|
2月前
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
44 3
|
2月前
|
分布式计算 Java Hadoop
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
41 2
|
3月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
86 3
Hadoop集群配置https实战案例
|
3月前
|
分布式计算 监控 Hadoop
监控Hadoop集群实战篇
介绍了监控Hadoop集群的方法,包括监控Linux服务器、Hadoop指标、使用Ganglia监控Hadoop集群、Hadoop日志记录、通过Hadoop的Web UI进行监控以及其他Hadoop组件的监控,并提供了相关监控工具和资源的推荐阅读链接。
94 2
|
4月前
|
资源调度 分布式计算 监控
【揭秘Hadoop YARN背后的奥秘!】从零开始,带你深入了解YARN资源管理框架的核心架构与实战应用!
【8月更文挑战第24天】Hadoop YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的资源管理器,为Hadoop集群上的应用提供统一的资源管理和调度框架。YARN通过ResourceManager、NodeManager和ApplicationMaster三大核心组件实现高效集群资源利用及多框架支持。本文剖析YARN架构及组件工作原理,并通过示例代码展示如何运行简单的MapReduce任务,帮助读者深入了解YARN机制及其在大数据处理中的应用价值。
96 0
|
7月前
|
分布式计算 数据可视化 Hadoop
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现

相关实验场景

更多