BigData之Hadoop:Hadoop的简介、深入理解、下载、案例应用之详细攻略

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: BigData之Hadoop:Hadoop的简介、深入理解、下载、案例应用之详细攻略


目录

Hadoop的简介

1、HDFS体系结构图

Hadoop的深入理解

0、深入了解Hadoop的其它相关基础知识

0.1、Hbase数据管理——Hadoop database

0.2、Hive数据管理——建立在Hadoop上的数据仓库基础架构

0.3、MongDB基于分布式文件存储数据库

1、Hadoop的三大特性——可靠、高效、可伸缩

2、Hadoop的五大优点——高可靠性、高扩展性、高效性、高容错性、低成本

3、Hadoop大数据处理的意义——得益于数据提取、变形和加载的天然优势

Hadoop的下载

To verify Hadoop releases using GPG:

To perform a quick check using SHA-512:

Hadoop的案例应用

1、Hadoop:设置单节点集群


 

 

 

Hadoop的简介

     Apache™ Hadoop® 项目为可靠、可扩展、分布式计算开发开源软件。apachehadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它被设计成从单个服务器扩展到数千台机器,每台都提供本地计算和存储。与依赖硬件来提供高可用性不同,库本身的设计目的是在应用程序层检测和处理故障,因此在一组计算机上提供高可用性服务,每台计算机都可能发生故障。

     Hadoop的框架最核心的设计就是HDFSMapReduceHDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。Hadoop的高吞吐,海量数据处理的能力使得人们可以方便地处理海量数据。但是,Hadoop的缺点也和它的优点同样鲜明——延迟大,响应缓慢,运维复杂。

     Hadoop原本来自于谷歌一款名为MapReduce的编程模型包。谷歌的MapReduce框架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集。使用该框架的一个典型例子就是在网络数据上运行的搜索算法。Hadoop最初只与网页索引有关,迅速发展成为分析大数据的领先平台。

       Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

       Hadoop的框架最核心的设计就是:HDFSMapReduce

  • HDFS为海量的数据提供了存储
  • MapReduce则为海量的数据提供了计算。MapReduce可以普遍应用于很多大规模数据的计算问题。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。

          HDFSMapReduce共同组成Hadoop分布式系统体系结构的核心。HDFS在集群上实现了分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFSMapReduce任务处理过程中提供了文件操作和存储等支持,MapReduceHDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成分布式集群的主要任务。

 

官网

https://hadoop.apache.org/

Apache Hadoop 3.2.1

 

 

1、HDFS体系结构图

         HDFS作为分布式文件系统在数据管理方面可借鉴点——文件块的放置。一个Block会有三份备份,一份在NameNode指定的DateNode上,一份放在与指定的DataNode不在同一台机器的DataNode上,一根在于指定的DataNode在同一Rack上的DataNode上。备份的目的是为了数据安全,采用这种方式是为了考虑到同一Rack失败的情况,以及不同数据拷贝带来的性能的问题。

图示:NameNode是管理者DataNode是文件存储者,Client客户端是需要获取分布式文件系统的应用程序

 

文件写入

  • (1)、 Client向NameNode发起文件写入的请求。
  • (2)、 NameNode根据文件大小和文件块配置情况,返回给Client它管理的DataNode的信息。
  • (3)、 Client将文件划分为多个block,根据DataNode的地址,按顺序将block写入DataNode块中。

 

文件读取

  • (1)、Client向NameNode发起读取文件的请求。
  • (2)、NameNode返回文件存储的DataNode信息。
  • (3)、Client读取文件信息。

 

 

 

 

Hadoop的深入理解

0、深入了解Hadoop的其它相关基础知识

0.1、Hbase数据管理——Hadoop database

BigData之Hbase:Hbase数据管理的简介、下载、案例应用之详细攻略

 

 

0.2、Hive数据管理——建立在Hadoop上的数据仓库基础架构

BigData之Hive:Hive数据管理的简介、下载、案例应用之详细攻略

 

 

0.3、MongDB基于分布式文件存储数据库

BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略

 

 

 

1、Hadoop的三大特性——可靠、高效、可伸缩

       Hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理

  • Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
  • Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。
  • Hadoop 是可伸缩的,能够处理 PB 级数据。

 

2、Hadoop的五大优点——高可靠性、高扩展性、高效性、高容错性、低成本

       Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:

  • 1.高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
  • 2.高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
  • 3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快 。
  • 4.高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
  • 5.低成本。Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用 。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低 。

       Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。

 

3、Hadoop大数据处理的意义——得益于数据提取、变形和加载的天然优势

        Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里

 

 

Hadoop的下载

官网地址https://hadoop.apache.org/releases.html

       为了方便起见,Hadoop作为源代码tarball发布,并带有相应的二进制tarball。下载通过镜像站点分发,应该使用GPG或SHA-512检查是否有篡改。

To verify Hadoop releases using GPG:

  1. Download the release hadoop-X.Y.Z-src.tar.gz from a mirror site.
  2. Download the signature file hadoop-X.Y.Z-src.tar.gz.asc from Apache.
  3. Download the Hadoop KEYS file.
  4. gpg –import KEYS
  5. gpg –verify hadoop-X.Y.Z-src.tar.gz.asc

To perform a quick check using SHA-512:

  1. Download the release hadoop-X.Y.Z-src.tar.gz from a mirror site.
  2. Download the checksum hadoop-X.Y.Z-src.tar.gz.sha512 or hadoop-X.Y.Z-src.tar.gz.mds from Apache.
  3. shasum -a 512 hadoop-X.Y.Z-src.tar.gz

 

 

Hadoop的案例应用

1、Hadoop:设置单节点集群

源自https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

1. Installing Software
2. If your cluster doesn’t have the requisite software you will need to install it.
3. 
4. For example on Ubuntu Linux:
5. 
6.   $ sudo apt-get install ssh
7.   $ sudo apt-get install pdsh
8. Download
9. To get a Hadoop distribution, download a recent stable release from one of the Apache Download Mirrors.
10. 
11. Prepare to Start the Hadoop Cluster
12. Unpack the downloaded Hadoop distribution. In the distribution, edit the file etc/hadoop/hadoop-env.sh to define some parameters as follows:
13. 
14.   # set to the root of your Java installation
15.   export JAVA_HOME=/usr/java/latest
16. Try the following command:
17. 
18.   $ bin/hadoop
19. This will display the usage documentation for the hadoop script.
20. 
21. Now you are ready to start your Hadoop cluster in one of the three supported modes:
22. 
23. Local (Standalone) Mode
24. Pseudo-Distributed Mode
25. Fully-Distributed Mode
26. Standalone Operation
27. By default, Hadoop is configured to run in a non-distributed mode, as a single Java process. This is useful for debugging.
28. 
29. The following example copies the unpacked conf directory to use as input and then finds and displays every match of the given regular expression. Output is written to the given output directory.
30. 
31.   $ mkdir input
32.   $ cp etc/hadoop/*.xml input
33.   $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
34.   $ cat output/*
35. Pseudo-Distributed Operation
36. Hadoop can also be run on a single-node in a pseudo-distributed mode where each Hadoop daemon runs in a separate Java process.
37. 
38. Configuration
39. Use the following:
40. 
41. etc/hadoop/core-site.xml:
42. 
43. <configuration>
44.     <property>
45.         <name>fs.defaultFS</name>
46.         <value>hdfs://localhost:9000</value>
47.     </property>
48. </configuration>
49. etc/hadoop/hdfs-site.xml:
50. 
51. <configuration>
52.     <property>
53.         <name>dfs.replication</name>
54.         <value>1</value>
55.     </property>
56. </configuration>
57.


相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
51 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
60 3
|
1月前
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
41 3
|
1月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
50 2
|
1月前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
43 2
|
1月前
|
分布式计算 Java Hadoop
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(一)
40 2
|
1月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
42 1
|
1月前
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
30 1
|
1月前
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
44 1
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
47 1

相关实验场景

更多