1、如何从官网获取Hadoop3.x新特性

JDK Erasure Coding YARN Timeline server v2…

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop


https://hadoop.apache.org/docs/r3.0.0/index.htmlHadoop 3 Hadoop 3.x支持最低的JDK版本为_hadoop_02

2、Hadoop3.x新特性之JDK8

最低要求的Java版本从Java 7增加到Java 8

现在已针对Java 8的运行时版本编译了所有Hadoop JAR。仍在使用Java 7或更低版本的用户必须升级到Java 8。

3、Hadoop3.x新特性之EC技术详解
EC :擦除编码 一个数据保护技术
通行行业中的数据传输中数据恢复的一种编码容错技术

核心思想:校验数据
出现问题:可以借助于EC技术来进行恢复

校验数据块出问题 借助原始数据进行重新编码
原始数据块出问题 借助原始数据进行重新编码

HDFS中副本机制:数据容错
优点:一个文件被拆分成N个Block,每个Block采用3副本机制,解决可能的数据丢失问题“也就是备胎”
缺点:存储空间的浪费 1T的数据3副本就是3T

EC技术:
优点:解决空间问题只使用HDFS副本机制的1.4左右空间。
缺点:数据恢复需要同时读取原始数据和校验数据 编码和解码非常消耗CPU

公司:生产Cluster(常用的生产数据) 冷Cluster(不常用的数据)冷集群就可以采用EC技术不常用又占用空间,用时恢复又不影响生产集群的性能 备份Cluster(需要备份的数据)

4、Hadoop3.x新特性之其他
YARN时间轴服务v.2
我们将介绍YARN时间轴服务的主要修订版本(v.2)的早期预览版(alpha 2)。YARN Timeline Service v.2解决了两个主要挑战:提高Timeline Service的可伸缩性和可靠性,以及通过引入流和聚合来增强可用性。
提供了YARN Timeline Service v.2 alpha 2,以便用户和开发人员可以对其进行测试,并提供反馈和建议以使其可以替代Timeline Servicev.1.x。仅应以测试能力使用。
YARN时间轴服务v.2文档中提供了更多详细信息。
Shell脚本重写
Hadoop Shell脚本已被重写,以修复许多长期存在的错误并包括一些新功能。尽管一直在寻求兼容性,但是某些更改可能会破坏现有的安装。
不兼容的更改记录在发行说明中,并在HADOOP-9902上进行了相关讨论。
Unix Shell指南文档中提供了更多详细信息。高级用户也将对Unix Shell API文档感到满意,该文档描述了许多新功能,尤其是与可扩展性有关的功能。
带阴影的客户罐
2.x版本中提供的hadoop-client Maven工件将Hadoop的可传递依赖项拉到Hadoop应用程序的类路径中。如果这些传递依赖项的版本与应用程序使用的版本冲突,则可能会出现问题。
HADOOP-11804添加了新的hadoop-client-api和hadoop-client-runtime工件,将Hadoop的依赖项隐藏在一个jar中。这样可以避免将Hadoop的依赖项泄漏到应用程序的类路径中。
支持机会容器和分布式计划。
引入了ExecutionType的概念,应用程序现在可以请求执行类型为Opportunistic的容器。即使调度时没有可用资源,也可以将这种类型的容器分派到NM处执行。在这种情况下,这些容器将在NM排队,等待资源可用以启动它。机会容器的优先级低于默认的“ 保证”容器,因此如果需要,可以抢占机会,以为“保证”容器腾出空间。这将提高群集利用率。
默认情况下,机会容器由中央RM分配,但是还添加了支持,以允许由实现为AMRMProtocol拦截器的分布式调度程序分配机会容器。
请参阅文档以获取更多详细信息。
MapReduce任务级本机优化
MapReduce增加了对地图输出收集器的本机实现的支持。对于洗牌密集型工作,这可以使性能提高30%或更多。
有关更多详细信息,请参见MAPREDUCE-2841的发行说明。
支持两个以上的NameNode。
HDFS NameNode高可用性的初始实现是为单个活动NameNode和单个Standby NameNode提供的。通过将编辑复制到法定数量的三个JournalNode,该体系结构能够容忍系统中任何一个节点的故障。
但是,某些部署需要更高程度的容错。这项新功能启用了此功能,该功能允许用户运行多个备用NameNode。例如,通过配置三个NameNode和五个JournalNode,群集可以忍受两个节点的故障,而不仅仅是一个节点的故障。
在HDFS高可用性文档已经更新了关于如何配置两个以上NameNodes更多的指令。
多个服务的默认端口已更改。
以前,多个Hadoop服务的默认端口在Linux临时端口范围内(32768-61000)。这意味着在启动时,由于与另一个应用程序的冲突,服务有时可能无法绑定到端口。
这些冲突的端口已移出临时范围,从而影响NameNode,Secondary NameNode,DataNode和KMS。我们的文档已适当更新,但是请参阅HDFS-9427和HADOOP-12811的发行说明,以获取端口更改列表。
支持Microsoft Azure Data Lake和Aliyun对象存储系统文件系统连接器
Hadoop现在支持与Microsoft Azure数据湖和Aliyun对象存储系统集成,作为与Hadoop兼容的替代文件系统。
数据内节点平衡器
单个DataNode可管理多个磁盘。在正常的写操作过程中,磁盘将被均匀填充。但是,添加或替换磁盘可能会导致DataNode内的严重歪斜。现有的HDFS平衡器无法处理这种情况,该平衡器自身涉及DN内部偏移,而不是内部DN偏移。
这种情况由新的内部DataNode平衡功能处理,该功能通过hdfs diskbalancer CLI 调用。有关更多信息,请参见《HDFS命令指南》中的磁盘平衡器部分。
重做的守护程序和任务堆管理
对Hadoop守护程序以及MapReduce任务的堆管理进行了一系列更改。
HADOOP-10950引入了用于配置守护程序堆大小的新方法。值得注意的是,现在可以根据主机的内存大小进行自动调整,并且不建议使用HADOOP_HEAPSIZE变量。有关更多详细信息,请参见HADOOP-10950的完整发行说明。
MAPREDUCE-5785简化了map的配置并减小了任务堆大小,因此不再需要在任务配置和Java选项中都指定所需的堆大小。已经指定两者的现有配置不受此更改的影响。有关更多详细信息,请参见MAPREDUCE-5785的完整发行说明。
S3Guard:S3A文件系统客户端的一致性和元数据缓存
HADOOP-13345向Amazon S3存储的S3A客户端添加了一项可选功能:能够将DynamoDB表用作文件和目录元数据的快速且一致的存储。
有关更多详细信息,请参见S3Guard。
基于HDFS路由器的联合
基于HDFS路由器的联合添加了一个RPC路由层,该层提供了多个HDFS名称空间的联合视图。这与现有的ViewFs和HDFS Federation功能相似,除了安装表是在服务器端由路由层而不是在客户端管理的。这简化了现有HDFS客户端对联合群集的访问。
有关更多详细信息,请参见HDFS-10467和基于HDFS路由器的联合文档。
Capacity Scheduler队列配置的基于API的配置
容量调度程序的OrgQueue扩展通过提供用户可以调用以修改队列配置的REST API,提供了一种编程方式来更改配置。这使管理员可以在队列的administer_queue ACL中自动进行队列配置管理。
有关更多信息,请参见YARN-5734和Capacity Scheduler文档。
YARN资源类型
YARN资源模型已被通用化,以支持用户定义的CPU和内存以外的可计数资源类型。例如,集群管理员可以定义资源,例如GPU,软件许可证或本地连接的存储。然后可以根据这些资源的可用性来调度YARN任务。
有关更多信息,请参见YARN-3926和YARN资源模型文档。

5、云服务器及大数据相关产品的了解

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop 3_03


6、如何快速选型并开通云主机

自己做实验:ecs云主机—按量付费—2cpu–4个G内存–40G硬盘–固定带宽7、云主机配置修改

1、把Hadoop用户添加到root

vim /etc/sudoers

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop 3_04


2、su - hadoop 切换到Hadoop目录并且直接切到Hadoop的根目录

3、配置etc/hosts 把自己的内网ip配置上对应主机名

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop 3_05


8、JDK部署

1、设置下hadoop用户密码 passwd hadoop

2、创建 software app两个文件夹

3、解压jdk到安装目录

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_HDFS_06


4、设置环境变量

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_HDFS_07


9、HDFS部署

1、下载Hadoop安装包

2、解压到app目录

3、修改环境变量

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop_08


4、修改hadoop-env.sh

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop 3_09


5、修改core-site.xml

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_hadoop_10


6、修改hdfs-site.xml

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_HDFS_11


Hadoop 3 Hadoop 3.x支持最低的JDK版本为_hadoop_12


7、3.0后编程workers

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_HDFS_13


8、格式化

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop 3_14


9、启动namenode和datanode

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_hadoop_15


10、免密码登陆

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_HDFS_16


Hadoop 3 Hadoop 3.x支持最低的JDK版本为_数据_17


11、YARN部署及使用

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop_18


Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop 3_19


测试项目时会出错3.0后需加个java软链接

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_Hadoop_20


解决

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_HDFS_21


12、Hadoop3.x的端口问题分析

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_hadoop_22


Hadoop 3 Hadoop 3.x支持最低的JDK版本为_hadoop_23


12、将项目升级运行到Hadoop3.x之上

根据网速不同更改版本后下载相应的包速度快慢也不同

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_hadoop_24


这里需要注意下:还有本地项目上传到服务器 路径和数据要改好和上传准备好

Hadoop 3 Hadoop 3.x支持最低的JDK版本为_HDFS_25


13、云服务器停止与销毁