imtoken钱包安卓官方版|hadoop

作者: imtoken钱包安卓官方版
2024-03-08 19:56:20

Hadoop 中文网

Hadoop 中文网

Toggle navigation

Hadoop 中文网

首页

下载

文档

Hbase

Maven

Apache Hadoop

Apache™Hadoop®项目开发了用于可靠,可扩展的分布式计算的开源软件。

Apache Hadoop软件库是一个框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身不用于依靠硬件来提供高可用性,而是被设计用来检测和处理应用程序层的故障,因此可以在计算机集群的顶部提供高可用性服务,每台计算机都容易出现故障。

查看文档 »

下载 »

开始 »

模组

该项目包括以下模块:

Hadoop Common:支持其他Hadoop模块的通用实用程序。

Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。

Hadoop YARN:用于作业调度和群集资源管理的框架。

Hadoop MapReduce:基于YARN的系统,用于并行处理大数据集。

Hadoop Ozone: Hadoop的对象存储。

相关项目

Apache的其他与Hadoop相关的项目包括:

Ambari™:一种基于Web的工具,用于供应,管理和监视Apache Hadoop集群,其中包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个仪表板,用于查看集群健康状况(例如热图)以及以可视方式查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。

Avro™:数据序列化系统。

Cassandra™:可扩展的多主数据库,没有单点故障。

Chukwa™:一种用于管理大型分布式系统的数据收集系统。

HBase™:可扩展的分布式数据库,支持大型表的结构化数据存储。

Hive™:一种数据仓库基础结构,提供数据汇总和即席查询。

Mahout™:可扩展的机器学习和数据挖掘库。

Pig™:用于并行计算的高级数据流语言和执行框架。

Spark™:一种用于Hadoop数据的快速通用计算引擎。Spark提供了一个简单而富有表现力的编程模型,该模型支持广泛的应用程序,包括ETL,机器学习,流处理和图形计算。

Submarine:一个统一的AI平台,允许工程师和数据科学家在分布式集群中运行机器学习和深度学习工作负载。

Tez™:基于Hadoop YARN的通用数据流编程框架,它提供了强大而灵活的引擎来执行任意DAG任务,以处理批处理和交互用例的数据。Hadoop生态系统中的Hive™,Pig™和其他框架以及其他商业软件(例如ETL工具)都采用了Tez,以取代Hadoop™MapReduce作为基础执行引擎。

ZooKeeper™:针对分布式应用程序的高性能协调服务。

谁在使用Hadoop?

各种各样的公司和组织都将Hadoop用于研究和生产。鼓励用户将自己添加到Hadoop PoweredBy Wiki页面。

Apache Hadoop, Hadoop, Apache, the Apache feather logo,

and the Apache Hadoop project logo are either registered trademarks or trademarks of the Apache Software Foundation

in the United States and other countries

Copyright © 2006-2020 The Apache Software Foundation

Privacy policy

Apache Hadoop

Apache Hadoop

Toggle navigation

Apache Hadoop

Download

Documentation

Current (trunk)

Latest

Stable

3.3.6

2.10.2

Wiki

Community

Bylaws

Criteria for Committership

Mailing lists

Published CVEs

Who We are

Development

How to Contribute

Issue Tracking

Version Control

Versioning

Help

Buy Stuff

Sponsorship

Thanks

Apache Software Foundation

Apache Hadoop

The Apache® Hadoop® project develops open-source software for reliable, scalable, distributed computing.

The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.

Learn more »

Download »

Getting started »

Latest news

Release 3.3.6 available 2023 Jun 23

This is a release of Apache Hadoop 3.3 line.

It contains 117 bug fixes, improvements and enhancements since 3.3.5.

Users of Apache Hadoop 3.3.5 and earlier should upgrade to this release.

Feature highlights:

SBOM artifacts

Starting from this release, Hadoop publishes Software Bill of Materials (SBOM) using

CycloneDX Maven plugin. For more information on SBOM, please go to

SBOM.

HDFS RBF: RDBMS based token storage support

HDFS Router-Router Based Federation now supports storing delegation tokens on MySQL,

HADOOP-18535

which improves token operation through over the original Zookeeper-based implementation.

New File System APIs

HADOOP-18671 moved a number of

HDFS-specific APIs to Hadoop Common to make it possible for certain applications that

depend on HDFS semantics to run on other Hadoop compatible file systems.

In particular, recoverLease() and isFileClosed() are exposed through LeaseRecoverable

interface, while setSafeMode() is exposed through SafeMode interface.

Users are encouraged to read the overview of major changes since release 3.3.5.

For details of 117 bug fixes, improvements, and other enhancements since the previous 3.3.5 release,

please check release notes and changelog.

Release 3.3.5 available 2023 Mar 22

This is a release of Apache Hadoop 3.3 line.

Key changes include

A big update of dependencies to try and keep those reports of

transitive CVEs under control -both genuine and false positives.

Critical fix to ABFS input stream prefetching for correct reading.

Vectored IO API for all FSDataInputStream implementations, with

high-performance versions for file:// and s3a:// filesystems.

file:// through java native IO

s3a:// parallel GET requests.

Arm64 binaries. Note, because the arm64 release was on a different

platform, the jar files may not match those of the x86

release -and therefore the maven artifacts.

Security fixes in Hadoop’s own code.

Users of Apache Hadoop 3.3.4 and earlier should upgrade to

this release.

All users are encouraged to read the overview of major changes

since release 3.3.4.

For details of bug fixes, improvements, and other enhancements since

the previous 3.3.4 release, please check release notes

and changelog.

Azure ABFS: Critical Stream Prefetch Fix

The ABFS connector has a critical bug fix

https://issues.apache.org/jira/browse/HADOOP-18546:

ABFS. Disable purging list of in-progress reads in abfs stream close().

All users of the abfs connector in hadoop releases 3.3.2+ MUST either upgrade

to this release or disable prefetching by setting

fs.azure.readaheadqueue.depth to 0.

Release 3.3.4 available 2022 Aug 8

This is a release of Apache Hadoop 3.3 line.

It contains a small number security and critical integration fixes since 3.3.3.

Users of Apache Hadoop 3.3.3 should upgrade to this release.

Users of hadoop 2.x and hadoop 3.2 should also upgrade to the 3.3.x line.

As well as feature enhancements, this is the sole branch currently

receiving fixes for anything other than critical security/data integrity

issues.

Users are encouraged to read the overview of major changes since release 3.3.3.

For details of bug fixes, improvements, and other enhancements since the previous 3.3.3 release,

please check release notes and changelog.

Release 3.2.4 available 2022 Jul 22

This is the third stable release of Apache Hadoop 3.2 line.

It contains 153 bug fixes, improvements and enhancements since 3.2.3.

Users are encouraged to read the overview of major changes since 3.2.3.

For details of 153 bug fixes, improvements, and other enhancements since the previous 3.2.3 release,

please check release notes and changelog.

Release 2.10.2 available 2022 May 31

This is the second stable release of Apache Hadoop 2.10 line.

It contains 211 bug fixes, improvements and enhancements since 2.10.1.

Users are encouraged to read the overview of major changes since 2.10.1.

For details of 211 bug fixes, improvements, and other enhancements since the previous 2.10.1 release,

please check release notes and changelog.

Release archive →

News archive →

Modules

The project includes these modules:

Hadoop Common: The common utilities that support the other Hadoop modules.

Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.

Hadoop YARN: A framework for job scheduling and cluster resource management.

Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.

Who Uses Hadoop?

A wide variety of companies and organizations use Hadoop for both research and production.

Users are encouraged to add themselves to the Hadoop PoweredBy wiki page.

Related projects

Other Hadoop-related projects at Apache include:

Ambari™: A web-based tool for provisioning,

managing, and monitoring Apache Hadoop clusters which includes

support for Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase,

ZooKeeper, Oozie, Pig and Sqoop. Ambari also provides a dashboard

for viewing cluster health such as heatmaps and ability to view

MapReduce, Pig and Hive applications visually alongwith features to

diagnose their performance characteristics in a user-friendly

manner.

Avro™: A data serialization system.

Cassandra™: A scalable multi-master database

with no single points of failure.

Chukwa™: A data collection system for managing

large distributed systems.

HBase™: A scalable, distributed database that

supports structured data storage for large tables.

Hive™: A data warehouse infrastructure that provides

data summarization and ad hoc querying.

Mahout™: A Scalable machine learning and data

mining library.

Ozone™: A scalable, redundant, and

distributed object store for Hadoop.

Pig™: A high-level data-flow language and execution

framework for parallel computation.

Spark™: A fast and general compute engine for

Hadoop data. Spark provides a simple and expressive programming

model that supports a wide range of applications, including ETL,

machine learning, stream processing, and graph computation.

Submarine: A unified AI platform which allows

engineers and data scientists to run Machine Learning and Deep Learning workload in

distributed cluster.

Tez™: A generalized data-flow programming framework,

built on Hadoop YARN, which provides a powerful and flexible engine

to execute an arbitrary DAG of tasks to process data for both batch

and interactive use-cases. Tez is being adopted by Hive™, Pig™ and

other frameworks in the Hadoop ecosystem, and also by other

commercial software (e.g. ETL tools), to replace Hadoop™ MapReduce

as the underlying execution engine.

ZooKeeper™: A high-performance coordination

service for distributed applications.

Apache Hadoop, Hadoop, Apache, the Apache feather logo,

and the Apache Hadoop project logo are either registered trademarks or trademarks of the Apache Software Foundation

in the United States and other countries

Copyright © 2006-2023 The Apache Software Foundation

Privacy policy

Hadoop 入门教程(超详细)_hadoop教程-CSDN博客

>

Hadoop 入门教程(超详细)_hadoop教程-CSDN博客

Hadoop 入门教程(超详细)

最新推荐文章于 2023-03-28 11:59:13 发布

西门催学不吹雪

最新推荐文章于 2023-03-28 11:59:13 发布

阅读量5.5w

收藏

582

点赞数

88

分类专栏:

大数据

# Hadoop

文章标签:

hadoop

大数据

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42837961/article/details/105493561

版权

大数据

同时被 2 个专栏收录

10 篇文章

67 订阅

订阅专栏

Hadoop

4 篇文章

4 订阅

订阅专栏

文章目录

1 Hadoop 介绍1.1 Hadoop 是什么1.2 Hadoop 的发展历史1.3 Hadoop 三大发行版本1.4 Hadoop 的优势1.5 Hadoop 的组成1.6 大数据技术生态体系

2 Hadoop 环境搭建2.1 虚拟机环境准备2.2 安装 jdk2.3 安装 Hadoop

3 Hadoop 的运行模式3.1 本地运行模式3.1.1 官方 Grep 案例3.1.2 官方 WordCount 案例

3.2 伪分布式运行模式3.2.1 启动 HDFS 并运行 MapReduce 程序3.2.2 启动 YARN 并运行 MapReduce 程序3.2.3 配置历史服务器3.2.4 配置日志的聚集

3.3 完全分布式运行模式3.3.1 虚拟机准备3.3.2 编写集群分发脚本 xsync3.3.3 集群配置3.3.4 集群单点启动3.3.5 配置 SSH 无密登录3.3.6 群起集群3.3.7 集群时间同步

4. Hadoop 编译源码4.1 前期工作准备4.2 jar 包安装4.3 编译源码

1 Hadoop 介绍

1.1 Hadoop 是什么

Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。主要解决,海量数据的存储和海量数据的分析计算问题。广义上来说,Hadoop 通常是指一个更广泛的概念 —— Hadoop 生态圈。

1.2 Hadoop 的发展历史

Lucene 框架是 Doug Cutting 开创的开源软件,用 java 书写代码,实现与 Google 类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎 。 2001年年底 Lucene 成为 apache 基金会的一个子项目。 对于海量数据的场景,Lucene 面对与 Google 同样的困难:存储数据困难,检索速度慢。 学习和模仿 Google 解决这些问题的办法 :微型版 Nutch。 可以说 Google 是 hadoop 的思想之源(Google 在大数据方面的三篇论文)。 GFS —>HDFS Map-Reduce —>MR BigTable —>Hbase 2003-2004 年,Google 公开了部分 GFS 和 Mapreduce 思想的细节,以此为基础 Doug Cutting 等人用了 2 年业余时间实现了 DFS 和 Mapreduce机制,使 Nutch 性能飙升 。 2005 年Hadoop 作为 Lucene 的子项目 Nutch 的一部分正式引入 Apache 基金会。 2006 年 3 月份,Map-Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。 名字来源于 Doug Cutting 儿子的玩具大象。 Hadoop 就此诞生并迅速发展,标志这云计算时代来临。

1.3 Hadoop 三大发行版本

  Apache、Cloudera、Hortonworks

Apache 版本最原始(最基础)的版本,对于入门学习最好。 Cloudera在大型互联网企业中用的较多。 ① 2008 年成立的 Cloudera 是最早将 Hadoop 商用的公司,为合作伙伴提供 Hadoop 的商用解决方案,主要是包括支持、咨询服务、培训。 ② 2009 年 Hadoop 的创始人 Doug Cutting 也加盟 Cloudera 公司。Cloudera 产品主要为 CDH,Cloudera Manager,Cloudera Support。 ③ CDH 是Cloudera 的 Hadoop 发行版,完全开源,比 Apache Hadoop 在兼容性,安全性,稳定性上有所增强。 ④ Cloudera Manager 是集群的软件分发及管理监控平台,可以在几个小时内部署好一个 Hadoop 集群,并对集群的节点及服务进行实时监控。Cloudera Support 即是对 Hadoop 的技术支持。 ⑤ Cloudera 的标价为每年每个节点 4000 美元。Cloudera 开发并贡献了可实时处理大数据的 Impala 项目。 Hortonworks 文档较好。 ① 2011 年成立的 Hortonworks 是雅虎与硅谷风投公司 Benchmark Capital 合资组建。 ② 公司成立之初就吸纳了大约 25 名至 30 名专门研究Hadoop的雅虎工程师,上述工程师均在 2005 年开始协助雅虎开发 Hadoop,贡献了 Hadoop 80% 的代码。 ③ 雅虎工程副总裁、雅虎 Hadoop 开发团队负责人 Eric Baldeschwieler 出任 Hortonworks 的首席执行官。 ④ Hortonworks 的主打产品是 Hortonworks Data Platform(HDP),也同样是 100% 开源的产品,HDP 除常见的项目外还包括了 Ambari,一款开源的安装和管理系统。 ⑤ HCatalog,一个元数据管理系统,HCatalog 现已集成到 Facebook 开源的 Hive 中。Hortonworks 的 Stinger 开创性的极大的优化了 Hive 项目。Hortonworks 为入门提供了一个非常好的,易于使用的沙盒。 ⑥ Hortonworks 开发了很多增强特性并提交至核心主干,这使得 Apache Hadoop 能够在包括 Window Server 和 Windows Azure 在内的 microsoft Windows 平台上本地运行。定价以集群为基础,每10 个节点每年为 12500 美元。

1.4 Hadoop 的优势

高可靠性: Hadoop 底层维护多个数据副本,所以即使 Hadoop 某个计算元素或存储出现故障,也不会导致数据的丢失。高扩展性: 在集群间分配任务数据,可方便的扩展数以千计的节点。高效性: 在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。高容错性: 能够自动将失败的任务重新分配。

1.5 Hadoop 的组成

Hadoop 1.x 和 hadoop 2.x 的区别 在 Hadoop 1.x 时代,Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源调度,耦合性较大。 在 Hadoop 2.x 时代,增加了 Yarn。Yarn 只负责资源的调度,MapReduce 只负责运算。 HDFS 框架概述 ① NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块所在的 DataNode 等。 ② DataNode(dn): 在本地文件系统存储文件块数据,以及块数据校验和。 ③ Secondary DataNode(2nn): 用来监控 HDFS 状态的辅助后台程序,每隔一段时间获取 HDFS 元数据的快照。 Yarn 结构概述 ① ResourceManager(RM):   (1)处理客户端请求。   (2)监控 NodeManager。   (3)启动或监控 ApplicationMaster。   (4)资源的分配与调度。 ② NodeManager(NM):   (1)管理单个节点上的资源。   (2)处理来自 ResourceManager 的命令。   (3)处理来自 ApplicationMaster 的命令。   (4)资源的分配与调度。 ③ ApplicationMaster(AM):   (1)负责数据的切分。   (2)为应用程序申请资源并分配给内部的任务。   (3)任务的监控与容错。 ④ Container:   Container 是 Yarn 中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。 MapReduce 架构概述 MapReduce 将计算过程分为两个阶段:Map 阶段和 Reduce 阶段。 ① Map 阶段并行处理输入的数据。 ② Reduce 阶段对 Map 结果进行汇总。

1.6 大数据技术生态体系

2 Hadoop 环境搭建

2.1 虚拟机环境准备

克隆虚拟机 修改克隆虚拟机的静态IP ① vim /etc/sysconfig/network-scripts/ifcfg-网卡名称 终端上输入 ifconfig 或 ip addr,找出网卡名称 ② 将 BOOTPROTO=dhcp 改成 BOOTPROTO=static、ONBOOT=no 改成 ONBOOT=yes ③ 并在文件尾部添加以下内容

IPADDR=192.168.217.129

NETMASK=255.255.255.0

GATEWAY=192.168.217.2

DNFS1=192.168.217.2

  

  ④ 重启网关服务

systemctl restart network

修改主机名

hostnamectl set-hostname lyh

关闭防火墙 ① 关闭防火墙

systemctl stop firewalld

  ② 禁止防火墙开机启动

systemctl disable firewalld

  ③ 关闭 Selinux

vim /etc/sysconfig/selinux

  将 SELINUX=enforcing 改成 SELINUX=disabled

2.2 安装 jdk

将 jdk-8u151-linux-x64.tar.gz 安装包通过 xftp 传到 CentOS 7 上创建 /usr/local/java 文件夹

mkdir /usr/local/java

将 jdk 压缩包解压到 /usr/local/java 目录下

tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java/

配置 jdk 的环境变量

vim /etc/profile

  添加以下内容:

# JAVAHOME

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin

让配置文件生效

source /etc/profile

输入 java、javac、java -version 命令检验 jdk 是否安装成功 注意:如果之前安装过 jdk 或 系统自带 jdk,我们需要卸载这些 jdk ① 查询已安装的 jdk 列表

rpm -qa | grep jdk

  ② 删除已经安装的 jdk

yum -y remove XXX(上面查询到的 jdk 名称)

   注意:如果终端出现以下错误:/var/run/yum.pid 已被锁定,PID 为 1610 的另一个程序正在运行。则输入以下命令:

rm -f /var/run/yum.pid

   之后再执行以上删除 jdk 的命令

  ③ 重新让配置文件生效

source /etc/profile

  ④ 输入 java、javac、java -version 命令检验 jdk 是否安装成功

2.3 安装 Hadoop

Hadoop 官网

将 hadoop-2.7.7.tar.gz 安装包通过 xftp 传到 CentOS 7 上创建 /hadoop 文件夹

mkdir /hadoop

将 hadoop 压缩包解压到 /haddop 的目录下

tar -zxvf hadoop-2.7.7.tar.gz -C /hadoop/

配置 hadoop 环境变量 ① 在 /etc/profile 文件的尾部添加以下内容:

#HADOOP

export HADOOP_HOME=/hadoop/hadoop-2.7.7

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  ② 使配置文件生效

source /etc/profile

测试是否安装成功

hadoop version

3 Hadoop 的运行模式

  Hadoop 的运行模式包括:本地模式、伪分布式模式、完全分布式模式。

3.1 本地运行模式

3.1.1 官方 Grep 案例

在 hadoop-2.7.7 文件下面创建一个 input 文件夹

mkdir input

将 Hadoop 的 xml 配置文件复制到 input

cp etc/hadoop/*.xml input

在 hadoop-2.7.7 目录下,执行 share 目录下的 MapReduce 程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar grep input/ output 'dfs[a-z.]+'

查看输出结果

3.1.2 官方 WordCount 案例

在 hadoop-2.7.7 文件下面创建一个 wcinput 文件夹

mkdir wcinput

在 wcinput 文件下创建一个 wc.input 文件

vim wc.input

  在文件中输入以下内容:

hadoop yarn

hadoop mapreduce

spark

spark

在 hadoop-2.7.7 目录下,执行 share 目录下的 MapReduce 程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount wcinput/ wcoutput

查看结果

3.2 伪分布式运行模式

3.2.1 启动 HDFS 并运行 MapReduce 程序

配置集群,修改 Hadoop 的配置文件(/hadoop/hadoop-2.7.7/etc/hadoop 目录下) ① core-site.xml

fs.defaultFS

hdfs://lyh:9000

hadoop.tmp.dir

/hadoop/hadoop-2.7.7/data/tmp

  ② hadoop-env.sh

   修改 JAVA_HOME 路径:

# The java implementation to use.

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

  ③ hdfs-site.xml

dfs.replication

1

启动集群 ① 格式化 NameNode(第一次启动时格式化,以后就不要总格式化)

hdfs namenode -format

  ② 启动 NameNode

hadoop-daemon.sh start namenode

  ③ 启动 DataNode

hadoop-daemon.sh start datanode

查看集群 ① 查看是否启动成功 ② web 端查看 HDFS 文件系统 http://192.168.217.129:50070 操作集群 ① 在 HDFS 文件系统上创建一个 input 文件夹

hdfs dfs -mkdir -p /user/lyh/input

  ② 将测试文件内容上传到文件系统上

hdfs dfs -put wcinput/wc.input /user/lyh/input/

  ③ 在 hadoop-2.7.7 目录下,运行 MapReduce 程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /user/lyh/input/ /user/lyh/output

  ④ 查看输出结果

   命令行查看:

hdfs dfs -cat /user/atguigu/output/*

   浏览器页面查看:

3.2.2 启动 YARN 并运行 MapReduce 程序

配置集群,修改 Hadoop 的配置文件(/hadoop/hadoop-2.7.7/etc/hadoop 目录下) ① yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

lyh

  ② yarn-env.sh

   修改 JAVA_HOME 路径:

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

  ③ mapred-env.sh

   修改 JAVA_HOME 路径:

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

  ④ 将 mapred-site.xml.template 重新命名为 mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

mapreduce.framework.name

yarn

启动集群 ① 启动前必须保证 NameNode 和 DataNode 已经启动 ② 启动 ResourceManager

yarn-daemon.sh start resourcemanager

  ③ 启动NodeManager

yarn-daemon.sh start nodemanager

查看集群 ① 查看是否启动成功 ② web 端查看 YARN 页面 http://192.168.217.129:8088 操作集群 ① 删除 HDFS 文件系统上的 output 文件

hdfs dfs -rm -R /user/lyh/output

  ② 在 hadoop-2.7.7 目录下,运行 MapReduce 程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /user/lyh/input /user/lyh/output

  ③ 查看运行结果

   命令行查看:

hdfs dfs -cat /user/lyh/output/*

   浏览器页面查看:

3.2.3 配置历史服务器

  为了查看程序的历史运行情况,需要配置一下历史服务器。

配置 mapred-site.xml 在该文件里面增加以下配置:

mapreduce.jobhistory.address

lyh:10020

mapreduce.jobhistory.webapp.address

lyh:19888

启动历史服务器

mr-jobhistory-daemon.sh start historyserver

查看历史服务器是否启动 查看 JobHistory http://192.168.217.129:19888/

3.2.4 配置日志的聚集

  日志聚集概念:应用运行完成以后,将程序运行日志信息上传到 HDFS 系统上。   日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。

  注意:开启日志聚集功能,需要重新启动 NodeManager 、ResourceManager 和 HistoryManager。

关闭 NodeManager 、ResourceManager 和 HistoryManager

yarn-daemon.sh stop resourcemanager

yarn-daemon.sh stop nodemanager

mr-jobhistory-daemon.sh stop historyserver

配置 yarn-site.xml 在该文件里面增加以下配置:

yarn.log-aggregation-enable

true

yarn.log-aggregation.retain-seconds

604800

启动 NodeManager 、ResourceManager 和 HistoryManager

yarn-daemon.sh start resourcemanager

yarn-daemon.sh start nodemanager

mr-jobhistory-daemon.sh start historyserver

删除HDFS上已经存在的输出文件

hdfs dfs -rm -R /user/lyh/output

在 hadoop-2.7.7 目录下,执行 WordCount 程序

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /user/lyh/input /user/lyh/output

查看日志

3.3 完全分布式运行模式

3.3.1 虚拟机准备

准备(克隆) 3 台客户机

主机名称IP 地址master192.168.217.130slave1192.168.217.131slave2192.168.217.132

每台机器分别修改 /etc/hosts 文件,将每个机器的 hostname 和 ip 对应

vim /etc/hosts

192.168.217.130 master

192.168.217.131 slave1

192.168.217.132 slave2

之后详细操作查看 2.1

3.3.2 编写集群分发脚本 xsync

scp(secure copy)安全拷贝 ① scp 定义:   scp 可以实现服务器与服务器之间的数据拷贝。 ② 基本语法:

scp -r 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称

rsync(remote synchronize)远程同步工具 ① rsync 定义:   rsync 主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。   rsync 和 scp 区别:用 rsync 做文件的复制要比 scp 的速度快,rsync 只对差异文件做更新。scp 是把所有文件都复制过去。 ② 基本语法:

rsync -rvl 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称

  说明:-v:显示复制过程 、-l:拷贝符号链接

xsync 集群分发脚本 需求:循环复制文件到所有节点的相同目录下 ① 在 /usr/local/bin 目录下创建 xsync 文件

vim xsync

   在文件中输入以下内容:

#!/bin/bash

#1 获取输入参数个数,如果没有参数,直接退出

pcount=$#

if((pcount==0)); then

echo no args;

exit;

fi

#2 获取文件名称

p1=$1

fname=`basename $p1`

echo fname=$fname

#3 获取上级目录到绝对路径

pdir=`cd -P $(dirname $p1); pwd`

echo pdir=$pdir

#4 获取当前用户名称

user=`whoami`

#5 循环

for i in master slave1 slave2

do

echo "****************** $i *********************"

rsync -rvl $pdir/$fname $user@$i:$pdir

done

  ② 修改脚本 xsync 具有执行权限

chmod 777 xsync

  ③ 调用脚本形式:xsync 文件名称

3.3.3 集群配置

集群部署规划

masterslave1slave2HDFSNameNode DataNodeDataNodeSecondaryNameNodeDataNodeYARNNodeManagerResourceManagerNodeManagerNodeManager

配置集群 ⑴ 配置核心文件   配置 core-site.xml

fs.defaultFS

hdfs://master:9000

hadoop.tmp.dir

/hadoop/hadoop-2.7.7/data/tmp

  ⑵ HDFS 配置文件

   ① 配置 hadoop-env.sh

    修改 JAVA_HOME 路径:

# The java implementation to use.

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

   ② 配置 hdfs-site.xml

dfs.replication

3

dfs.namenode.secondary.http-address

slave2:50090

  ⑶ YARN 配置文件

   ① 配置 yarn-env.sh

   修改 JAVA_HOME 路径:

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

   ② 配置 yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

slave1

yarn.log-aggregation-enable

true

yarn.log-aggregation.retain-seconds

604800

  ⑷ MapReduce 配置文件

   ① 配置 mapred-env.sh

    修改 JAVA_HOME 路径:

export JAVA_HOME=/usr/local/java/jdk1.8.0_151

   ② 配置 mapred-site.xml

mapreduce.framework.name

yarn

mapreduce.jobhistory.address

master:10020

mapreduce.jobhistory.webapp.address

master:19888

在集群上分发配置好的 Hadoop 目录

xsync /hadoop/

3.3.4 集群单点启动

如果集群是第一次启动,需要格式化 NameNode

hadoop namenode -format

在 master上启动 NameNode

hadoop-daemon.sh start namenode

在 master、slave1 和 slave2 上分别启动 DataNode

hadoop-daemon.sh start datanode

3.3.5 配置 SSH 无密登录

免密登录原理 生成公钥和私钥 在 /root 目录下输入:

ssh-keygen -t rsa

  然后敲(三个回车),就会在 .ssh 目录下生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登录的目标机器上

ssh-copy-id master

ssh-copy-id slave1

ssh-copy-id slave2

在另两台机器上也做 2、3 操作

3.3.6 群起集群

配置 slaves(/hadoop/hadoop-2.7.7/etc/hadoop/slaves) ① 在该文件中增加如下内容:

master

slave1

slave2

  注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

  ② 同步所有节点配置文件

xsync slaves

启动集群 ① 如果集群是第一次启动,需要格式化 NameNode (注意格式化之前,一定要先停止上次启动的所有 namenode 和 datanode 进程,然后再删除 data 和 log 数据)

hdfs namenode -format

  ② 启动 HDFS

start-dfs.sh

  ③ 启动 YARN(slave1 上)

注意:NameNode 和 ResourceManger 如果不是同一台机器,不能在 NameNode 上启动 YARN,应该在 ResouceManager 所在的机器上启动 YARN。

start-yarn.sh

编写查看集群所有节点 jps 脚本 alljps ① 在 /usr/local/bin 目录下创建文件 alljps

vim alljps

   在文件中输入以下内容:

#!/bin/bash

for i in master slave1 slave2

do

echo "****************** $i *********************"

ssh $i "source /etc/profile && jps"

done

  ② 修改脚本 alljps 具有执行权限

chmod 777 alljps

  ③ 调用脚本形式:alljps   

3.3.7 集群时间同步

  时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。

时间服务器配置(必须 root 用户) ① 安装 ntp

yum install ntp

  ② 修改 ntp 配置文件

vim /etc/ntp.conf

  修改内容如下:

   ⑴ 授权 192.168.1.0-192.168.1.255 网段上的所有机器可以从这台机器上查询和同步时间

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

   ⑵ 集群在局域网中,不使用其他互联网上的时间

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

   ⑶ 当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步

server 127.127.1.0

fudge 127.127.1.0 stratum 10

  ③ 修改/etc/sysconfig/ntpd 文件

vim /etc/sysconfig/ntpd

   添加内容如下(让硬件时间与系统时间一起同步)

SYNC_HWCLOCK=yes

  ④ 重新启动 ntpd 服务

systemctl restart ntpd.service

  ⑤ 设置 ntpd 服务开机启动

systemctl enable ntpd.service

其他机器配置(必须root用户) 在其他机器配置10分钟与时间服务器同步一次

crontab -e

   编写定时任务如下:

*/10 * * * * /usr/sbin/ntpdate master

4. Hadoop 编译源码

4.1 前期工作准备

CentOS 联网 配置 CentOS 能连接外网。Linux 虚拟机 ping www.baidu.com 是畅通的。 jar 包准备(hadoop 源码、JDK8、maven、ant 、protobuf) ① hadoop-2.7.7-src.tar.gz ② jdk-8u151-linux-x64.tar.gz ③ apache-ant-1.9.9-bin.tar.gz(build 工具,打包用的) ④ apache-maven-3.0.5-bin.tar.gz ⑤ protobuf-2.5.0.tar.gz(序列化的框架)

4.2 jar 包安装

安装 jdk 具体详见 2.2。 安装 Maven ① 解压 Maven

tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/

  ② 配置环境变量

vim /etc/profile

   添加以下内容:

#MAVEN_HOME

export MAVEN_HOME=/opt/module/apache-maven-3.0.5

export PATH=$PATH:$MAVEN_HOME/bin

   使配置文件生效:

source /etc/profile

  ② 进入解压后的 Maven 目录,编辑配置文件(更改 Maven 镜像)

nexus-aliyun

central

Nexus aliyun

http://maven.aliyun.com/nexus/content/groups/public

   ③ 查看 Maven 是否安装成功

mvn -version

安装 ant ① 解压 ant

tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

  ② 配置环境变量

vim /etc/profile

   添加以下内容:

#ANT_HOME

export ANT_HOME=/opt/module/apache-ant-1.9.9

export PATH=$PATH:$ANT_HOME/bin

   使配置文件生效:

source /etc/profile

   ③ 查看 ant 是否安装成功

ant -version

安装 glibc-headers 和 g++

yum install glibc-headers

yum install gcc-c++

安装 make 和 cmake

yum install make

yum install cmake

安装 protobuf ① 解压 protobuf

tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/

  ② 配置环境变量

vim /etc/profile

   添加以下内容:

#LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0

export PATH=$PATH:$LD_LIBRARY_PATH

   使配置文件生效:

source /etc/profile

   ③ 进入到解压后 protobuf 主目录,/opt/module/protobuf-2.5.0,然后相继执行命令

./configure

make

make check

make install

ldconfig

   ③ 查看 protobuf 是否安装成功

protoc --version

安装 openssl 库

yum install openssl-devel

安装 ncurses-devel 库

yum install ncurses-devel

4.3 编译源码

解压源码到 /opt/ 目录

tar -zxvf hadoop-2.7.7-src.tar.gz -C /opt/

进入到 hadoop 源码主目录 /opt/hadoop-2.7.2-src,通过 maven 执行编译命令

mvn package -Pdist,native -DskipTests -Dtar

  等待时间 2 小时左右。

成功的 64 位 hadoop 包在 /opt/hadoop-2.7.2-src/hadoop-dist/target 下

优惠劵

西门催学不吹雪

关注

关注

88

点赞

582

收藏

觉得还不错?

一键收藏

知道了

10

评论

Hadoop 入门教程(超详细)

文章目录1. Hadoop 框架1.1 Hadoop 介绍1.1.1 Hadoop 是什么1.1.2 Hadoop 的发展历史1.1.3 Hadoop 三大发行版本1.1.4 Hadoop 的优势1.1.5 Hadoop 的组成1. Hadoop 框架1.1 Hadoop 介绍1.1.1 Hadoop 是什么Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。主要...

复制链接

扫一扫

专栏目录

hadoop中文基础教程

12-11

本文是整合的官网教程,官网教程需要联网,并且需要反复切换页面,不利于流程的离线阅读,希望这个文档对于希望学习hadoop的朋友有帮助。

官网教程访问地址为:http://hadoop.apache.org/docs/r1.0.4/cn/

3.Hadoop学习笔记.pdf

01-31

hadoop学习笔记,hadoop简介,适用于hadoop入门,讲解hadoop安装,使用,基本原理,大数据,分布式等概念

10 条评论

您还未登录,请先

登录

后发表或查看评论

Hadoop安装学习-入门教程

11-30

Hadoop 安装 学习 入门教程

Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。

从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘。开源界及厂商,所有数据软件,无一不向Hadoop靠拢。Hadoop也从小众的高富帅领域,变成了大数据开发的标准。在Hadoop原有技术基础之上,出现了Hadoop家族产品,通过“大数据”概念不断创新,推出科技进步。

hadoop入门教程.pdf

10-16

。。。

Hadoop入门教程

03-02

Hadoop入门教程

Hadoop开发者 2010入门专刊

出品Hadoop技术论坛

Hadoop 简介

qq_40322236的博客

02-05

3万+

Hadoop 生态圈是指围绕 Hadoop 软件框架为核心而出现的越来越多的相关软件框架,这些软件框架和 Hadoop 框架一起构成了一个生机勃勃的 Hadoop 生态圈

一文搞懂什么是Hadoop?Hadoop的前世今生,Hadoop的优点有哪些?Hadoop面试考查重点,大数据技术生态体系

qq_52674050的博客

06-12

3万+

目录1.1 Hadoop 是什么 1.2 Hadoop 发展历史1.3 Hadoop 三大发行版本 1.4 Hadoop优势(4高) 1.5 Hadoop 组成(面试重点) 1.5.1 HDFS 架构概述 1.5.2 YARN 架构概述 1.5.3 MapReduce 架构概述 1.5.4 HDFS、YARN、MapReduce 三者关系 1.6 大数据技术生态体系 1.7 推荐系统框架图 假如说购买一个东西,打开京东首页,购买一个东西,这个购买行为会被记录下来,通过Nginx负载均衡打入到日

hadoop简介

weixin_43930865的博客

01-16

4051

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。主要解决海量数据的存储和海量数据的分析计算问题并行计算的架构分而治之,先分后和。

Hadoop详细入门知识

githubcurry

10-17

5016

现在的我们,生活在数据大爆炸的年代。2020年,全球的数据总量达到44ZB,经过单位换算后,至少在440亿TB以上,也就是说,全球每人一块1TB的硬盘都存储不下。扩展: 数据大小单位,从小到大分别是: byte、kb、mb、Gb、Tb、PB、EB、ZB、DB、NB...单位之间的转换都是满足1024一些数据集的大小更远远超过了1TB,也就是说,数据的存储是一个要解决的问题。同时,硬盘技术也面临一个技术瓶颈,就是硬盘的传输速度(读数据的速度)的提升远远低于硬盘容量的提升。

大数据之Hadoop图解概述

努力让自己发光,对的人才能迎着光而来

10-22

1万+

文章目录1 Hadoop是什么2 Hadoop 发展历史(了解)3 Hadoop 三大发行版本(了解)3.1 Apache Hadoop(常用)3.2 Cloudera Hadoop3.3 Hortonworks Hadoop4 Hadoop 优势(4 高)5 Hadoop 组成(面试重点)5.1 HDFS 架构概述5.2 YARN 架构概述5.3 MapReduce 架构概述5.4 HDFS、YARN、MapReduce 三者关系6 大数据技术生态体系7 推荐系统框架图

1 Hadoop是什么

1)Had

hadoop入门教程

10-26

hadoop入门教程,ubuntu 下 安装配置 hadoop,Eclipse 连接hadoop开发程序入门

Hadoop完全分布式集群搭建详细图文教程

This is Yunis's blog!

08-21

1万+

本文所使用的环境及版本:

CentOS Linux release 7.9.2009 (Core)

jdk1.8.0_291

hadoop-3.2.2

一、安装模板机

1、安装CentOS 7.9并配置网络

注意:在安装虚拟机时建议分配50G以上的磁盘容量,避免后期磁盘不够用需手动扩容的麻烦

关于CentOS 7.X 的安装参照这篇文章:VMware安装CentOS 7.8详细图文教程(含网络配置)

2、安装 epel-release

注:Extra Packages for Enterprise.

一文搞懂什么是Hadoop?Hadoop的优点有哪些?Hadoop⽣态圈【详细介绍】

热门推荐

w0714的博客

08-27

5万+

前情回顾:

⼤数据是如何产⽣的?

什么是数据仓库?

目前为止,我们知道了海量数据的存储是使用数据仓库,而为了保证数据的质量呢,我们要有元数据管理,还有数据治理。而为了保证这些数据的性能、还有使用的效率等等,那么我们采取的是分层架构。

在目前市面上用的比较广泛的数据仓库是Hive,而Hive又是依存于Hadoop这样一个开源的分布式计算平台上。所以本篇博客我们就来介绍一下Hadoop。

Hadoop概述

1 Hadoop简介

Hadoop是什么?简单来说,Hadoop就是解决⼤数据时代下海量数据的存储和分析计

Hadoop概况

qq_48391148的博客

03-28

1043

广义上的Hadoop指的是围绕Hadoop打造的大数据生态圈

Hadoop入门学习

迷逝

03-10

450

Hadoop入门学习

Hadoop组成(面试重点)

Hadoop1.x、Hadoop2.x、Hadoop3.x区别

在Hadoop1.x时代,Hadoop的MapReduce同事处理业务逻辑运算和资源的调度,耦合性较大。

在Hadoop2.x时代,增加了Yarn,Yarn只负责资源调度。MapReduce只负责运算。

在Hadoop3.x时代,在组成上没有什么变化。

HDFS概述

Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。

NameNode(nn

搭建Hadoop分布式集群的详细教程

程序员小木的博客

03-26

2万+

本文包括VMware创建配置虚拟机的基本方法,Centos的安装与配置,Hadoop集群安装与配置方法

Hadoop(一)Hadoop概述

ks_1998的博客

03-03

1万+

Hadoop(一)Hadoop概述

linux安装hadoop详细教程

最新发布

09-10

实际上,Hadoop的安装过程与操作系统的类型无关,因此我将为您提供一个基于Linux系统的Hadoop安装教程。请注意,以下教程仅供参考,您可以根据您的具体环境和需求进行修改。

1. 安装Java开发工具包(JDK):

- 在终端中运行以下命令以安装OpenJDK:

```

sudo apt-get update

sudo apt-get install openjdk-8-jdk

```

2. 配置Java环境变量:

- 打开“~/.bashrc”文件:

```

nano ~/.bashrc

```

- 在文件末尾添加以下行:

```

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export PATH=$PATH:$JAVA_HOME/bin

```

- 保存并关闭文件,然后运行以下命令以使配置生效:

```

source ~/.bashrc

```

3. 下载和解压Hadoop软件包:

- 访问Hadoop官方网站(http://hadoop.apache.org)并下载适用于Linux的最新稳定版本。

- 打开终端并导航至下载目录。

- 使用以下命令解压下载的文件:

```

tar -xzvf hadoop-.tar.gz

```

4. 配置Hadoop环境变量:

- 打开“~/.bashrc”文件:

```

nano ~/.bashrc

```

- 在文件末尾添加以下行:

```

export HADOOP_HOME=/path/to/hadoop-

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

```

- 保存并关闭文件,然后运行以下命令以使配置生效:

```

source ~/.bashrc

```

5. 配置Hadoop集群:

- 导航至Hadoop的配置目录:

```

cd $HADOOP_HOME/etc/hadoop

```

- 编辑“hadoop-env.sh”文件:

```

nano hadoop-env.sh

```

- 设置JAVA_HOME环境变量为Java安装路径:

```

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

```

- 保存并关闭文件。

- 编辑“core-site.xml”文件:

```

nano core-site.xml

```

- 添加以下配置内容:

```xml

fs.defaultFS

hdfs://localhost:9000

```

- 保存并关闭文件。

- 编辑“hdfs-site.xml”文件:

```

nano hdfs-site.xml

```

- 添加以下配置内容:

```xml

dfs.replication

1

```

- 保存并关闭文件。

- 编辑“mapred-site.xml.template”文件:

```

nano mapred-site.xml.template

```

- 添加以下配置内容:

```xml

mapreduce.framework.name

yarn

```

- 保存并关闭文件。

- 重命名“mapred-site.xml.template”为“mapred-site.xml”:

```

mv mapred-site.xml.template mapred-site.xml

```

- 编辑“yarn-site.xml”文件:

```

nano yarn-site.xml

```

- 添加以下配置内容:

```xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.aux-services.mapreduce_shuffle.class

org.apache.hadoop.mapred.ShuffleHandler

```

- 保存并关闭文件。

6. 格式化Hadoop文件系统:

- 在终端中运行以下命令以格式化HDFS:

```

hdfs namenode -format

```

7. 启动Hadoop集群:

- 在终端中运行以下命令以启动HDFS和YARN:

```

start-dfs.sh

start-yarn.sh

```

8. 检查Hadoop集群状态:

- 在终端中运行以下命令以确保Hadoop集群正常运行:

```

jps

```

- 输出应包含NameNode、DataNode、ResourceManager和NodeManager等进程。

恭喜!您已经成功安装和配置了Hadoop。现在您可以开始使用Hadoop进行大数据处理和分析了。请记得根据您的具体需求进行进一步配置和调优。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

西门催学不吹雪

CSDN认证博客专家

CSDN认证企业博客

码龄6年

暂无认证

23

原创

1万+

周排名

83万+

总排名

14万+

访问

等级

1459

积分

337

粉丝

360

获赞

34

评论

1824

收藏

私信

关注

热门文章

Hadoop 入门教程(超详细)

54783

HBase 教程(超详细)

19534

Flume 入门教程(超详细)

14504

Kafka 入门教程(超详细)

12780

Zookeeper 教程(超详细)

10554

分类专栏

随笔

1篇

大数据

10篇

Hadoop

4篇

Zookeeper

1篇

Hive

1篇

HBase

1篇

Spark

1篇

Flume

1篇

Kafka

1篇

Python 数据分析

5篇

Scala

3篇

机器学习

2篇

C 语言

2篇

C++ 语言

计算机组成原理

数据结构 C 语言

计算机网络

R 语言

Linux

最新评论

Kafka 入门教程(超详细)

YuTZer:

太赞了博主

Hadoop 入门教程(超详细)

weixin_45523487:

你好,请问一下为什么最后要编译源码?

使用 pandas 进行数据预处理

Mrs_Kayla:

可以发一下数据集吗博主

HBase 教程(超详细)

TG_ivory:

博主,hbase写流程的图有问题,和读流程用成一张了。

Hadoop 入门教程(超详细)

dhdudj:

麻烦给一个ant和protobuf安装包的下载地址

最新文章

了解 Python 中 collections.defaultdict

HBase 教程(超详细)

Hive 教程(一)—— Hive 介绍及安装

2020年23篇

目录

目录

分类专栏

随笔

1篇

大数据

10篇

Hadoop

4篇

Zookeeper

1篇

Hive

1篇

HBase

1篇

Spark

1篇

Flume

1篇

Kafka

1篇

Python 数据分析

5篇

Scala

3篇

机器学习

2篇

C 语言

2篇

C++ 语言

计算机组成原理

数据结构 C 语言

计算机网络

R 语言

Linux

目录

评论 10

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

1.0 Hadoop 教程 | 菜鸟教程

1.0 Hadoop 教程 | 菜鸟教程

菜鸟教程 -- 学的不仅是技术,更是梦想!

首页

笔记首页

Android

ES6 教程

排序算法

Hadoop

Zookeeper

Verilog

编程技术

程序员人生

首页

Android

ES6

逗乐

Search

1.0 Hadoop 教程 分类 Hadoop 教程

Hadoop 是一个开源的分布式计算和存储框架,由 Apache 基金会开发和维护。

Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集,并且支持在单台计算机到几千台计算机之间进行扩展。

Hadoop 使用 Java 开发,所以可以在多种不同硬件平台的计算机上部署和使用。其核心部件包括分布式文件系统 (Hadoop DFS,HDFS) 和 MapReduce。

Hadoop 历史

2003 年和 2004 年,Google 公司先后发表了两篇著名的论文 GFS 和 MapReduce。这两篇论文和 2006 年发表的 BigTable 成为了现在著名的"Google 三大论文"。Doug Cutting 在受到了这些理论的影响后开始了 Hadoop 的开发。

Hadoop 包含了两大核心组件。在 Google 的论文中,GFS 是一个在庞大的计算机集群中运行的分布式文件系统,在 Hadoop 中 HDFS 实现了它的功能。MapReduce 是一个分布式计算的方式,Hadoop 用同名称的 MapReduce 框架实现了它的功能。我们会在之后的 MapReduce 章节中详细介绍它。

从 2008 年开始,Hadoop 作为 Apache 顶级项目存在。它与它的众多子项目广泛应用于包括 Yahoo、阿里巴巴、腾讯等大型网络服务企业,并被 IBM、Intel、Microsoft 等平台公司列为支持对象。

Hadoop 的作用

Hadoop 的作用非常简单,就是在多计算机集群环境中营造一个统一而稳定的存储和计算环境,并能为其他分布式应用服务提供平台支持。

也就是说, Hadoop 在某种程度上将多台计算机组织成了一台计算机(做同一件事),那么 HDFS 就相当于这台计算机的硬盘,而 MapReduce 就是这台计算机的 CPU 控制器。

2.0 Hadoop 运行环境 →

点我分享笔记

取消

分享笔记

昵称昵称 (必填)

邮箱邮箱 (必填)

引用地址引用地址

Hadoop 教程

1.0 Hadoop 教程

2.0 Hadoop 运行环境

3.0 Hadoop 概念

4.0 HDFS 配置与使用

5.0 HDFS 集群

6.0 MapReduce 使用

7.0 MapReduce 编程

在线实例

·HTML 实例

·CSS 实例

·JavaScript 实例

·Ajax 实例

·jQuery 实例

·XML 实例

·Java 实例

字符集&工具

· HTML 字符集设置

· HTML ASCII 字符集

· JS 混淆/加密

· PNG/JPEG 图片压缩

· HTML 拾色器

· JSON 格式化工具

· 随机数生成器

最新更新

·

Rust 宏

·

Seaborn 教程

·

Pandas 相关性分析

·

31.2k star, 免...

·

Dev Home —...

·

免费开源的 AI ...

·

11.2k star, 免...

站点信息

·

意见反馈

·

免责声明

·

关于我们

·

文章归档

关注微信

Copyright © 2013-2024 菜鸟教程 

runoob.com All Rights Reserved. 备案号:闽ICP备15012807号-1

微信关注

深入浅出大数据:到底什么是Hadoop? - 知乎

深入浅出大数据:到底什么是Hadoop? - 知乎首发于鲜枣课堂切换模式写文章登录/注册深入浅出大数据:到底什么是Hadoop?小枣君​科技等 3 个话题下的优秀答主1998年9月4日,Google公司在美国硅谷成立。正如大家所知,它是一家做搜索引擎起家的公司。无独有偶,一位名叫Doug Cutting的美国工程师,也迷上了搜索引擎。他做了一个用于文本搜索的函数库(姑且理解为软件的功能组件),命名为Lucene。左为Doug Cutting,右为Lucene的LOGOLucene是用JAVA写成的,目标是为各种中小型应用软件加入全文检索功能。因为好用而且开源(代码公开),非常受程序员们的欢迎。早期的时候,这个项目被发布在Doug Cutting的个人网站和SourceForge(一个开源软件网站)。后来,2001年底,Lucene成为Apache软件基金会jakarta项目的一个子项目。Apache软件基金会,搞IT的应该都认识2004年,Doug Cutting再接再励,在Lucene的基础上,和Apache开源伙伴Mike Cafarella合作,开发了一款可以代替当时的主流搜索的开源搜索引擎,命名为Nutch。Nutch是一个建立在Lucene核心之上的网页搜索应用程序,可以下载下来直接使用。它在Lucene的基础上加了网络爬虫和一些网页相关的功能,目的就是从一个简单的站内检索推广到全球网络的搜索上,就像Google一样。Nutch在业界的影响力比Lucene更大。大批网站采用了Nutch平台,大大降低了技术门槛,使低成本的普通计算机取代高价的Web服务器成为可能。甚至有一段时间,在硅谷有了一股用Nutch低成本创业的潮流。随着时间的推移,无论是Google还是Nutch,都面临搜索对象“体积”不断增大的问题。尤其是Google,作为互联网搜索引擎,需要存储大量的网页,并不断优化自己的搜索算法,提升搜索效率。Google搜索栏在这个过程中,Google也确实找到了不少好办法,并且无私地分享了出来。2003年,Google发表了一篇技术学术论文,公开介绍了自己的谷歌文件系统GFS(Google File System)。这是Google公司为了存储海量搜索数据而设计的专用文件系统。第二年,也就是2004年,Doug Cutting基于Google的GFS论文,实现了分布式文件存储系统,并将它命名为NDFS(Nutch Distributed File System)。还是2004年,Google又发表了一篇技术学术论文,介绍自己的MapReduce编程模型。这个编程模型,用于大规模数据集(大于1TB)的并行分析运算。第二年(2005年),Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。2006年,当时依然很厉害的Yahoo(雅虎)公司,招安了Doug Cutting。这里要补充说明一下雅虎招安Doug的背景:2004年之前,作为互联网开拓者的雅虎,是使用Google搜索引擎作为自家搜索服务的。在2004年开始,雅虎放弃了Google,开始自己研发搜索引擎。所以。。。加盟Yahoo之后,Doug Cutting将NDFS和MapReduce进行了升级改造,并重新命名为Hadoop(NDFS也改名为HDFS,Hadoop Distributed File System)。这个,就是后来大名鼎鼎的大数据框架系统——Hadoop的由来。而Doug Cutting,则被人们称为Hadoop之父。Hadoop这个名字,实际上是Doug Cutting他儿子的黄色玩具大象的名字。所以,Hadoop的Logo,就是一只奔跑的黄色大象。我们继续往下说。还是2006年,Google又发论文了。这次,它们介绍了自己的BigTable。这是一种分布式数据存储系统,一种用来处理海量数据的非关系型数据库。Doug Cutting当然没有放过,在自己的hadoop系统里面,引入了BigTable,并命名为HBase。好吧,反正就是紧跟Google时代步伐,你出什么,我学什么。所以,Hadoop的核心部分,基本上都有Google的影子。2008年1月,Hadoop成功上位,正式成为Apache基金会的顶级项目。同年2月,Yahoo宣布建成了一个拥有1万个内核的Hadoop集群,并将自己的搜索引擎产品部署在上面。7月,Hadoop打破世界纪录,成为最快排序1TB数据的系统,用时209秒。此后,Hadoop便进入了高速发展期,直至现在。Hadoop的核心架构 Hadoop的核心,说白了,就是HDFS和MapReduce。HDFS为海量数据提供了存储,而MapReduce为海量数据提供了计算框架。Hadoop核心架构让我们来仔细看看,它们分别是怎么工作的。首先看看HDFS。整个HDFS有三个重要角色:NameNode(名称节点)、DataNode(数据节点)和Client(客户机)。典型的主从架构,用TCP/IP通信NameNode:是Master节点(主节点),可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。NameNode会将文件系统的Meta-data存储在内存中,这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode的信息等。DataNode:是Slave节点(从节点),是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。Client:切分文件;访问HDFS;与NameNode交互,获得文件位置信息;与DataNode交互,读取和写入数据。 还有一个Block(块)的概念:Block是HDFS中的基本读写单元;HDFS中的文件都是被切割为block(块)进行存储的;这些块被复制到多个DataNode中;块的大小(通常为64MB)和复制的块数量在创建文件时由Client决定。 我们来简单看看HDFS的读写流程。首先是写入流程:1 用户向Client(客户机)提出请求。例如,需要写入200MB的数据。2 Client制定计划:将数据按照64MB为块,进行切割;所有的块都保存三份。3 Client将大文件切分成块(block)。4 针对第一个块,Client告诉NameNode(主控节点),请帮助我,将64MB的块复制三份。5 NameNode告诉Client三个DataNode(数据节点)的地址,并且将它们根据到Client的距离,进行了排序。6 Client把数据和清单发给第一个DataNode。7 第一个DataNode将数据复制给第二个DataNode。8 第二个DataNode将数据复制给第三个DataNode。9 如果某一个块的所有数据都已写入,就会向NameNode反馈已完成。10 对第二个Block,也进行相同的操作。11 所有Block都完成后,关闭文件。NameNode会将数据持久化到磁盘上。读取流程:1 用户向Client提出读取请求。2 Client向NameNode请求这个文件的所有信息。3 NameNode将给Client这个文件的块列表,以及存储各个块的数据节点清单(按照和客户端的距离排序)。4 Client从距离最近的数据节点下载所需的块。(注意:以上只是简化的描述,实际过程会更加复杂。)再来看MapReduce。MapReduce其实是一种编程模型。这个模型的核心步骤主要分两部分:Map(映射)和Reduce(归约)。当你向MapReduce框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce任务的主要目标就是把前面若干个Map的输出汇总到一起并输出。是不是有点晕?我们来举个例子。上图是一个统计词频的任务。1 Hadoop将输入数据切成若干个分片,并将每个split(分割)交给一个map task(Map任务)处理。2 Mapping之后,相当于得出这个task里面,每个词以及它出现的次数。3 shuffle(拖移)将相同的词放在一起,并对它们进行排序,分成若干个分片。4 根据这些分片,进行reduce(归约)。5 统计出reduce task的结果,输出到文件。如果还是没明白的吧,再举一个例子。一个老师有100份试卷要阅卷。他找来5个帮手,扔给每个帮手20份试卷。帮手各自阅卷。最后,帮手们将成绩汇总给老师。很简单了吧?MapReduce这个框架模型,极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。哦,差点忘了,在MapReduce里,为了完成上面这些过程,需要两个角色:JobTracker和TaskTracker。JobTracker用于调度和管理其它的TaskTracker。JobTracker可以运行于集群中任一台计算机上。TaskTracker 负责执行任务,必须运行于 DataNode 上。1.0版本与2.0版本 2011年11月,Hadoop 1.0.0版本正式发布,意味着可以用于商业化。但是,1.0版本中,存在一些问题:1 扩展性差,JobTracker负载较重,成为性能瓶颈。2 可靠性差,NameNode只有一个,万一挂掉,整个系统就会崩溃。3 仅适用MapReduce一种计算方式。4 资源管理的效率比较低。所以,2012年5月,Hadoop推出了 2.0版本 。2.0版本中,在HDFS之上,增加了YARN(资源管理框架)层。它是一个资源管理模块,为各类应用程序提供资源管理和调度。此外,2.0版本还提升了系统的安全稳定性。所以,后来行业里基本上都是使用2.0版本。目前Hadoop又进一步发展到3.X版本。Hadoop的生态圈 经过时间的累积,Hadoop已经从最开始的两三个组件,发展成一个拥有20多个部件的生态系统。在整个Hadoop架构中,计算框架起到承上启下的作用,一方面可以操作HDFS中的数据,另一方面可以被封装,提供Hive、Pig这样的上层组件的调用。我们简单介绍一下其中几个比较重要的组件。HBase:来源于Google的BigTable;是一个高可靠性、高性能、面向列、可伸缩的分布式数据库。Hive:是一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Pig:是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。ZooKeeper:来源于Google的Chubby;它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度。Ambari:Hadoop管理工具,可以快捷地监控、部署、管理集群。Sqoop:用于在Hadoop与传统的数据库间进行数据的传递。Mahout:一个可扩展的机器学习和数据挖掘库。再上一张图,可能看得更直观一点:Hadoop的优点和应用 总的来看,Hadoop有以下优点:高可靠性:这个是由它的基因决定的。它的基因来自Google。Google最擅长的事情,就是“垃圾利用”。Google起家的时候就是穷,买不起高端服务器,所以,特别喜欢在普通电脑上部署这种大型系统。虽然硬件不可靠,但是系统非常可靠。高扩展性:Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可以方便地进行扩展。说白了,想变大很容易。高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。这个其实也算是高可靠性。低成本:Hadoop是开源的,依赖于社区服务,使用成本比较低。基于这些优点,Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。Hadoop的应用非常广泛,包括:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等,都可以使用它进行部署。目前,包括Yahoo、IBM、Facebook、亚马逊、阿里巴巴、华为、百度、腾讯等公司,都采用Hadoop构建自己的大数据系统。除了上述大型企业将Hadoop技术运用在自身的服务中外,一些提供Hadoop解决方案的商业型公司也纷纷跟进,利用自身技术对Hadoop进行优化、改进、二次开发等,然后对外提供商业服务。比较知名的,是Cloudera公司。它创办于2008年,专业从事基于Hadoop的数据管理软件销售和服务,还提供Hadoop相关的支持、咨询、培训等服务,有点类似于RedHat在Linux世界中的角色。前面我们提到的Hadoop之父,Doug Cutting,都被这家公司聘请为首席架构师。Hadoop和Spark 最后,我再介绍一下大家关心的Spark。Spark同样是Apache软件基金会的顶级项目。它可以理解为在Hadoop基础上的一种改进。它是加州大学伯克利分校AMP实验室所开源的类Hadoop MapReduce的通用并行框架。相对比Hadoop,它可以说是青出于蓝而胜于蓝。前面我们说了,MapReduce是面向磁盘的。因此,受限于磁盘读写性能的约束,MapReduce在处理迭代计算、实时计算、交互式数据查询等方面并不高效。但是,这些计算却在图计算、数据挖掘和机器学习等相关应用领域中非常常见。而Spark是面向内存的。这使得Spark能够为多个不同数据源的数据提供近乎实时的处理性能,适用于需要多次操作特定数据集的应用场景。在相同的实验环境下处理相同的数据,若在内存中运行,那么Spark要比MapReduce快100倍。其它方面,例如处理迭代运算、计算数据分析类报表、排序等,Spark都比MapReduce快很多。此外,Spark在易用性、通用性等方面,也比Hadoop更强。所以,Spark的风头,已经盖过了Hadoop。结语 以上,就是小枣君关于大数据相关技术的介绍。小枣君个人觉得,相比于云计算技术来说,大数据的应用范围比较有限,并不是所有的公司都适用,也不是所有的业务场景都适用,没有必要跟风追捧,更不能盲目上马。対于个人来说,大数据系统的架构非常庞大,内容也非常复杂,入门起来会比较吃力(实践练习倒是门槛很低,几台电脑足矣)。所以,如果不是特别渴望朝这个方向发展,可以不必急于学习它。或者说,可以先进行初步的了解,后续如果真的要从事相关的工作,再进行深入学习也不迟。好啦,今天就到这里,感谢大家的耐心观看,我们下期再见!更多精彩内容,欢迎扫码关注我们的公众号:鲜枣课堂【本文版权归“鲜枣课堂”和小枣君所有,未经授权,请勿转载】发布于 2019-01-16 13:52Hadoop大数据谷歌 (Google)​赞同 1347​​45 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录鲜枣课堂公众号:鲜枣课堂(linjoocom)北京航空航天大学计算机考研北航知研团队所有成员均由在校学长/学姐团队

Apache Hadoop 中文文档

Apache Hadoop 中文文档

Toggle navigation

Hadoop 中文网

首页

下载

文档

Hbase

Maven

Hadoop 文档

General

单节点设置集群设置命令参考文件系统外壳相容性规格下游开发人员指南管理员相容性指南接口分类文件系统规范Common

CLI迷你集群本地图书馆代理用户机架意识安全模式服务水平授权HTTP Authentication凭证提供者APIHadoop KMS追踪Unix Shell指南HDFS

建筑用户指南命令参考具有QJM的NameNode HA具有NFS的NameNode HA联邦视场快照编辑查看器图像浏览器权限和HDFS配额和HDFSlibhdfs(C API)WebHDFS(REST API)HttpFS短路本地读取集中式缓存管理NFS网关滚动升级扩展属性透明加密多宿主储存政策内存存储支持综合负载发生器删除编码磁盘平衡器升级域数据节点管理员路由器联盟提供的存储MapReduce

讲解命令参考与1.x的兼容性加密随机播放可插拔随机播放/排序分布式缓存部署支持YARN共享缓存MapReduce REST APIs

MR应用大师MR历史记录服务器YARN

建筑命令参考容量调度器公平调度重新启动ResourceManager资源管理器HA资源模型节点标签节点属性Web应用程序代理时间轴服务器时间轴服务V.2编写YARN应用程序YARN应用程序安全节点管理器在Docker容器中运行应用程序使用CGroups安全容器登记处预约系统优雅退役机会容器纱联合会共享缓存使用GPU使用FPGA放置约束纱UI2YARN REST APIs

介绍资源经理节点管理器YARN Service

快速开始概念纱线服务API服务发现系统服务Submarine

指数快速开始例子Hadoop Compatible File Systems

阿里云OSS亚马逊S3Azure Blob存储Azure数据湖存储OpenStack迅捷Auth

总览例子组态建造Tools

Hadoop流Hadoop档案Hadoop存档日志DistCp网格混合瘤胃资源估算器服务调度程序负载模拟器Hadoop基准测试Reference

变更日志和发行说明Java API文档Unix Shell API指标Configuration

Apache Hadoop 3.2.1文档

Apache Hadoop 3.2.1在以前的主要发行版本(hadoop-3.2)上进行了许多重大改进。

该版本普遍可用(GA),这意味着它代表了我们认为已经可以投入生产的API稳定性和质量。

总览

鼓励用户阅读全套发行说明。此页面概述了主要更改。

YARN中的节点属性支持

节点属性有助于根据节点的属性在节点上标记多个标签,并支持基于这些标签的表达来放置容器。

节点属性文档中提供了更多详细信息。

YARN上的Hadoop潜水艇

Hadoop Submarine使数据工程师可以在数据驻留的同一Hadoop YARN集群上轻松开发,训练和部署深度学习模型(在TensorFlow中)。

Hadoop Submarine文档中提供了更多详细信息。

存储策略满意度

支持HDFS(Hadoop分布式文件系统)应用程序,以便在文件/目录上设置存储策略时在存储类型之间移动块。

存储策略满意度文档中提供了更多详细信息。

ABFS文件系统连接器

支持最新的Azure Datalake Gen2存储。

增强型S3A连接器

支持增强的S3A连接器,包括对受限制的AWS S3和DynamoDB IO的更好的弹性。

升级YARN长期服务

通过YARN本机服务API和CLI支持长期运行的容器的就地无缝升级。

YARN服务升级文档中提供了更多详细信息。

入门

Hadoop文档包含开始使用Hadoop所需的信息。从单节点设置开始,该向导向您展示如何设置单节点Hadoop安装。然后转到“ 群集设置”以了解如何设置多节点Hadoop安装。

Apache Hadoop, Hadoop, Apache, the Apache feather logo,

and the Apache Hadoop project logo are either registered trademarks or trademarks of the Apache Software Foundation

in the United States and other countries

Copyright © 2006-2020 The Apache Software Foundation

Privacy policy

大数据基础架构Hadoop,终于有人讲明白了 - 知乎

大数据基础架构Hadoop,终于有人讲明白了 - 知乎切换模式写文章登录/注册大数据基础架构Hadoop,终于有人讲明白了不了哭半路失踪的程序媛导读:大数据正在成为经济社会发展的新的驱动力。随着云计算、移动互联网等网络新技术的应用和发展,社会信息化进程进入大数据时代,海量数据的产生与流转成为常态。而大数据技术也如雨后春笋般正在蓬勃发展中。Hadoop分布式架构无疑是当前应用最广泛、最具代表性的大数据技术之一。本文将首先介绍Hadoop技术概述,包括Hadoop框架的概念、架构、核心组件,以及Hadoop的应用场景和生态系统。01Hadoop技术概述在大数据时代,针对大数据处理的新技术也在不断地开发和运用中,并逐渐成为数据处理挖掘行业广泛使用的主流技术。Hadoop作为处理大数据的分布式存储和计算框架,已在国内外大、中、小型企业中得到了广泛应用。学习Hadoop技术是从事大数据行业工作必不可少的一步。1 Hadoop的发展历史Hadoop是由Apache的Lucence项目创始人道格·卡廷创建的,Lucence是一个应用广泛的文本搜索系统库。Hadoop起源于开源的网络搜索引擎Nutch,Nutch本身也是Lucence项目的一部分。Hadoop的发展历史如图1所示。▲图1 Hadoop的发展历史2 Hadoop的特点Hadoop是一个能够让用户轻松搭建和使用的分布式计算平台,能够让用户轻松地在Hadoop上开发和运行处理海量数据的应用程序。Hadoop的主要特点如下。1)高可靠性。Hadoop的数据存储有多个备份,集群部署在不同机器上,可以防止一个节点宕机造成集群损坏。当数据处理请求失败时,Hadoop将自动重新部署计算任务。2)高扩展性。Hadoop是在可用的计算机集群间分配数据并完成计算任务的。为集群添加新的节点并不复杂,因此可以很容易地对集群进行节点的扩展。3)高效性。Hadoop可以在节点之间动态地移动数据,在数据所在节点进行并行处理,并保证各个节点的动态平衡,因此处理速度非常快。4)高容错性。Hadoop的分布式文件系统HDFS在存储文件时将在多台机器或多个节点上存储文件的备份副本,当读取该文件出错或某一台机器宕机时,系统会调用其他节点上的备份文件,保证程序顺利运行。5)低成本。Hadoop是开源的,即不需要支付任何费用即可下载并安装使用,节省了购买软件的成本。6)可构建在廉价机器上。Hadoop不要求机器的配置达到极高的标准,大部分普通商用服务器即可满足要求,通过提供多个副本和容错机制提高集群的可靠性。7)Hadoop基本框架是基于Java语言编写的。Hadoop是一个基于Java语言开发的框架,因此运行在Linux系统上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,如C++和Python。3 Hadoop存储框架—HDFSHDFS是一种旨在普通硬件上运行的分布式文件系统,与现有的分布式文件系统有许多相似之处,但也存在明显的区别。HDFS具有非常好的容错能力,旨在部署在低成本硬件上。HDFS支持对应用程序数据进行高吞吐量访问,并且适用于具有海量数据集的读写。HDFS是Hadoop的核心组件之一,用于存储数据。HDFS简介及架构HDFS是以分布式进行存储的文件系统,主要负责集群数据的存储与读取。分布式系统可以划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,以实现最终的整体功能。利用多个节点共同协作完成一项或多项具体业务功能的系统即为分布式系统。HDFS作为一个分布式文件系统,其分布式主要体现在如下3个方面。1)HDFS并不是一个单机文件系统,而是分布在多个集群节点上的文件系统。节点之间通过网络通信进行协作,提供多个节点的文件信息,使每个用户均可以看到文件系统的文件,使多台机器上的多用户可以分享文件和存储空间。2)当存储文件时,文件的数据将分布在多个节点上。数据存储不是按一个文件存储,而是将一个文件分成一个或多个数据块进行存储。数据块在存储时并不是都存储在一个节点上,而是被分别存储在各个节点中,并且数据块会在其他节点存储副本。3)数据从多个节点读取。读取一个文件时,从多个节点中找到该文件的数据块,分别读取所有数据块,直至最后一个数据块读取完毕。HDFS是一个主/从(Master/Slave)体系架构的分布式文件系统。HDFS支持传统的层次型文件组织结构,使得用户或应用程序可以创建目录,再将文件保存至目录中。文件系统命名空间的层次结构和大多数现有的文件系统类似,可以通过文件路径对文件执行创建、读取、更新和删除操作。HDFS的基本架构如图2所示。▲图2 HDFS基本架构图HDFS文件系统主要包含一个NameNode、一个Secondary NameNode和多个DataNode。(1)NameNodeNameNode用于存储元数据以及处理客户端发出的请求。元数据不是具体的文件内容,它包含3类重要信息。第1类信息是文件和目录自身的属性信息,如文件名、目录名、父目录信息、文件大小、创建时间、修改时间等;第2类信息是记录文件内容存储的相关信息,如文件分块情况、副本个数、每个副本所在的DataNode信息等;第3类信息是用于记录HDFS中所有DataNode的信息,用于DataNode管理。在NameNode中存放元信息的文件是fsimage文件。在系统运行期间,所有对元数据的操作均保存在内存中,并被持久化到另一个文件edits中。当NameNode启动时,fsimage文件将被加载至内存,再对内存里的数据执行edits文件所记录的操作,以确保内存所保留的数据处于最新的状态。(2)Secondary NameNodeSecondary NameNode用于备份NameNode的数据,周期性地将edits文件合并到fsimage文件并在本地备份,然后将新的fsimage文件存储至NameNode,覆盖原有的fsimage文件,删除edits文件,并创建一个新的edits文件继续存储文件当前的修改状态。(3)DataNodeDataNode是真正存储数据的地方。在DataNode中,文件以数据块的形式进行存储。Hadoop 3.x默认128 MB为一个数据块,如果存储一个大小为129 MB的文件,那么文件将被分为两个数据块进行存储。当文件上传至HDFS端时,HDFS会将文件按128MB的数据块大小进行切割,将每个数据块存储至不同的或相同的DataNode并备份副本,一般默认备份3个副本。NameNode负责记录文件的分块信息,以确保在读取该文件时可以找到并整合所有数据块。HDFS的特点随着数据量越来越多,传统的单机式文件存储系统已经不能满足日益增长的数据存储需求,分布式文件存储系统—HDFS应运而生。作为分布式文件系统,HDFS能够解决海量数据的存储问题,其优点列举如下。1)高容错性。HDFS上传的数据会自动保存多个副本,通过增加副本的数量增加HDFS的容错性。如果某一个副本丢失,那么HDFS将复制其他节点上的副本。2)适合大规模数据的处理。HDFS能够处理GB、TB甚至PB级别的数据,数量级规模可达百万,数量非常大。3)流式数据访问。HDFS以流式数据访问模式存储超大文件,有着“一次写入,多次读取”的特点,且文件一旦写入,不能修改,只能增加,以保证数据的一致性。当然HDFS也不是完美的,同样存在局限性,如不适合低延迟数据访问,无法高效存储大量小文件、不支持多用户写入及任意修改文件。4 Hadoop计算引擎—MapReduceMapReduce是一个分布式运算程序的编程框架,是基于Hadoop的数据分析应用的核心框架。MapReduce的核心功能是将用户编写的业务逻辑代码和自带的组件整合成一个完整的分布式运算程序,并行运行在Hadoop集群上。认识MapReduce分布式计算框架,并了解MapReduce的执行流程,有利于后续的MapReduce编程学习。MapReduce是Hadoop的核心计算框架,是用于大规模数据集(大于1TB)并行运算的编程模型,主要包括Map(映射)和Reduce(规约)两个阶段。1)当启动一个MapReduce任务时,Map端将会读取HDFS上的数据,将数据映射成所需要的键值对类型并传至Reduce端。2)Reduce端接收Map端键值对类型的中间数据,并根据不同键进行分组,对每一组键相同的数据进行处理,得到新的键值对并输出至HDFS。MapReduce作业执行流程如图3所示。▲图3 MapReduce作业执行流程图一个完整的MapReduce过程涉及数据的输入与分片、Map阶段数据处理、Shuffle&Sort阶段数据整合、Reduce阶段数据处理、数据输出等操作。1)数据的输入与分片。MapReduce过程中的数据是从HDFS分布式文件系统中读取的。文件上传至HDFS时,一般按照128 MB分成若干个数据块,所以在运行MapReduce程序时,每个数据块均会对应一个Map任务。也可以通过重新设置文件分片大小调整Map的个数,在运行MapReduce程序时系统会根据所设置的分片大小对文件重新分片(Split)。2)Map阶段数据处理。一个程序有一个或多个Map任务,具体由默认存储或分片个数决定。在Map阶段,数据将以键值对的形式被读入,键的值一般为每行首字符与文件最初始位置的偏移量,即中间所隔字符个数,值为该行的数据记录。根据具体的需求对键值对进行处理,映射成新的键值对并传输至Reduce端。3)Shuffle&Sort阶段数据整合。此阶段是指从Map端输出开始,传输至Reduce端之前的过程。该过程会对同一个Map中输出的键相同的数据先进行整合,减少传输的数据量,并在整合后将数据按照键进行排序。4)Reduce阶段数据处理。Reduce任务可以有一个或多个,具体由Map阶段设置的数据分区确定,一个分区数据将被一个Reduce处理。针对每一个Reduce任务,Reduce会接收到不同Map任务传来的数据,并且每个Map传来的数据都是有序的。一个Reduce任务中的每一次处理均是针对所有键相同的数据,对数据进行规约,形成新的键值对。5)数据输出。Reduce阶段处理完数据后即可将数据文件输出至HDFS,输出的文件个数和Reduce的个数一致。如果只有一个Reduce,那么输出只有一个数据文件,默认命名为“part-r-00000”。5 Hadoop资源管理器—YARNYARN是Hadoop的资源管理器,可以提高资源在集群的利用率,加快执行速率。早期的Hadoop 1.0版本的任务执行效率低下,Hadoop 2.x版本开始引入了YARN框架。YARN框架为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。Hadoop YARN提供了一个更加通用的资源管理和分布式应用框架。该框架使得用户可以根据自己的需求实现定制化的数据处理应用,既可以支持MapReduce计算,也可以很方便地管理如Hive、HBase、Pig、Spark/Shark等组件的应用程序。YARN的架构设计使得各类型的应用程序可以运行在Hadoop上,并通过YARN从系统层面进行统一管理。拥有了YARN框架,各种应用可以互不干扰地运行在同一个Hadoop系统中,以共享整个集群资源。YARN框架总体上仍然是主/从结构,在整个资源管理框架中,ResourceManager为Master,NodeManager为Slave,ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。用户提交一个应用程序时,需要提供一个用于跟踪和管理这个程序的ApplicationMaster,ApplicationMaster负责向ResourceManager申请资源,并要求NodeManger启动可以占用一定资源的任务。由于不同的ApplicationMaster被分布到不同的节点上,所以它们之间不会相互影响。YARN的基本组成框架如图4所示。▲图4 YARN的基本组成框架YARN主要由ResourceManager、Node-Manager、ApplicationMaster和Client App-lication这4个部分构成,具体说明如下。1)ResourceManager(RM)。一个全局的资源管理器,负责整个系统的资源管理和分配。ResourceManager主要由两个组件构成,即调度器(Scheduler)和应用程序管理器(Applications Manager,ASM)。调度器负责将系统中的资源分配给各个正在运行的应用程序,不从事任何与具体应用程序相关的工作,如监控或跟踪应用的执行状态等,也不负责重新启动因应用执行失败或硬件故障而产生的失败任务。应用程序管理器负责处理客户端提交的Job以及协商第一个Container(包装资源的对象)以供ApplicationMaster运行,并且在ApplicationMaster失败时将其重新启动。其中,Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。当ApplicationMaster向RM申请资源时,RM为ApplicationMaster返回的资源就是使用Container表示的。YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。2)NodeManager(NM)。每个节点上的资源和任务管理器。一方面,NM会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,NM会接收并处理来自ApplicationMaster的Container启动或停止等各种请求。3)ApplicationMaster(AM)。在用户提交每个应用程序时,系统会生成一个ApplicationMaster并保存到提交的应用程序里。ApplicationMaster的主要功能如下。与ResourceManager调度器协商以获取资源(用Container表示)。对得到的任务进行进一步分配。与NodeManager通信以启动或停止任务。监控所有任务运行状态,在任务运行失败时重新为任务申请资源并重启任务。4)Client Application。Client Application是客户端提交的应用程序。客户端会将应用程序提交到RM,然后RM将创建一个Application上下文件对象,再设置AM必需的资源请求信息,最后提交至RM。02Hadoop应用场景介绍在大数据背景下,Apache Hadoop作为一种分布式存储和计算框架,已经被广泛应用到各行各业,业界对于Hadoop这一开源分布式技术的应用也在不断地拓展中。了解Hadoop的应用场景,从而可以更深刻地了解Hadoop在实际生活中的应用。1)在线旅游。目前全球范围内大多数在线旅游网站都使用了Cloudera公司提供的Hadoop发行版,Expedia作为全球最大的在线旅游公司也在使用Hadoop。在国内目前比较受欢迎的一些旅游网站如携程、去哪儿网等也采用了大数据技术对数据进行存储和计算。2)移动数据。中国移动于2010年5月正式推出大云BigCloud 1.0,集群节点达到了1024个。华为对Hadoop的HA方案及HBase领域也有深入研究,并已经向业界推出了自己的基于Hadoop的大数据解决方案。3)电子商务。阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务。4)诈骗检测。一般金融服务或政府机构会使用Hadoop存储所有的客户交易数据,包括一些非结构化的数据,以帮助机构发现客户的异常活动,预防欺诈行为。例如国内支付宝、微信钱包这类庞大的互联网支付平台,对诈骗、黑客、病毒的防护都十分重视,均使用大数据技术进行诈骗检测,以保障线上资金的安全。5)IT安全。除企业IT基础机构的管理外,Hadoop还可以用于处理机器生成的数据以便识别出来自恶意软件或网络中的攻击。国内奇虎360安全软件在应用方面也使用Hadoop的HBase组件进行数据存储,缩短了异常恢复的时间。6)医疗保健。医疗行业也可以使用Hadoop,如IBM Watson技术平台使用Hadoop集群作为语义分析等高级分析技术的基础。医疗机构可以利用语义分析为患者提供医护人员,并协助医生更好地为患者进行诊断。7)搜索引擎。我们在使用搜索引擎的过程中会产生大规模的数据,此时,使用Hadoop进行海量数据挖掘可以提高数据处理的效率。国外的雅虎已将Hadoop应用到搜索引擎中,国内的百度和阿里巴巴也将Hadoop应用到搜索引擎、推荐、数据分析等多个领域。8)社交平台。目前网络社交已经成为人们日常生活的一部分,网络社交平台每天产生的数据量十分庞大。腾讯和脸书作为国内外的大型社交平台,在数据库存储方面均利用了Hadoop生态系统中的Hive组件进行数据存储和处理。03Hadoop生态系统Hadoop经过多年的发展,已经形成了一个相当成熟的生态系统。现代生活节奏快速,各行各业无时无刻产生着大量的数据,Hadoop发挥着重要的作用。因为各行各业的需求不同,很多时候需要在Hadoop的基础上进行一些改进和优化,也因此产生了许多围绕Hadoop衍生的工具,逐渐地演变成一个庞大的Hadoop生态系统,如图5所示。▲图5 Hadoop生态系统Hadoop生态系统中常用的组件列举如下,不同的组件分别提供特定的服务。1)Hive。Hive是建立在Hadoop基础上的数据仓库基础框架,提供了一系列工具,可存储、查询和分析存储在Hadoop中的大规模数据。Hive定义了一种类SQL语言为HQL,该语言编写的查询语句在Hive的底层将转换为复杂的MapReduce程序,运行在Hadoop大数据平台上。2)ZooKeeper。ZooKeeper主要用于保证集群各项功能的正常进行,并能够在功能出现异常时及时通知集群进行处理,保持数据一致性。ZooKeeper是对整个集群进行监控,可解决分布式环境下的数据管理问题。3)HBase。HBase是一个针对非结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。HBase提供了对大规模数据的随机、实时读写访问。同时,HBase中保存的数据可以使用MapReduce进行处理。HBase将数据存储和并行计算很好地结合在一起。4)Spark。Spark是一种快速、通用、可扩展的大数据处理引擎,继承了MapReduce分布式计算的优点并改进了MapReduce明显的缺点。Spark的中间输出结果可以保存在内存中,因此能更好地适用于数据挖掘与机器学习中迭代次数较多的算法。5)Flume。Flume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统,适用于日志文件的采集。6)Kafka。Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。Kafka是一个事件流平台,能够连接其他数据源进行持续的数据导入或导出,并且可以根据需求持久可靠地存储数据。本文摘编于《Hadoop与大数据挖掘》,经出版方授权发布。(书号:9787111709473)转载请保留文章来源。推荐理由:本书基于开源Hadoop生态圈的主流技术,深入浅出地介绍了大数据相关技术的原理、知识点及具体应用,适合教师教学使用和零基础自学者使用,配代码、习题、教学PPT。发布于 2022-10-18 10:53大数据Hadoop​赞同 16​​添加评论​分享​喜欢​收藏​申请

一文读懂什么是Hadoop? - 知乎

一文读懂什么是Hadoop? - 知乎首发于数栈精品技术文章分享切换模式写文章登录/注册一文读懂什么是Hadoop?数栈大数据基础软件 | 数据中台 | 湖仓一体 | 批流一体2011年的时候我们在百度搜索Hadoop相关的问题每天只有零星几个,2015年再去百度搜索Hadoop已经有800多万个问题,而如今已然已经过亿了,Hadoop已成为大数据必备的基础设施了。Hadoop被公认是一套行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力。几乎所有主流厂商都围绕Hadoop开发工具、开源软件、商业化工具和技术服务。近年大型IT公司,如EMC、Microsoft、Intel、Teradata、Cisco都明显增加了Hadoop方面的投入。那么到底什么是Hadoop?它有什么作用?它的基础架构是怎么样的?今天就Hadoop的这些基本概念来做一次简单的梳理。一、Hadoop是什么?Hadoop是一个由Apache基金会所开发的分布式系统基础架构, 是一个存储系统+计算框架的软件框架。主要解决海量数据存储与计算的问题,是大数据技术中的基石。Hadoop以一种可靠、高效、可伸缩的方式进行数据处理,用户可以在不了解分布式底层细节的情况下,开发分布式程序,用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。二、Hadoop能解决什么问题1、海量数据存储HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(High throughput)来访问数据,适合那些有着超大数据集(large data set)的应用程序,它由n台运行着DataNode的机器组成和1台(另外一个standby)运行NameNode进程一起构成。每个DataNode 管理一部分数据,然后NameNode负责管理整个HDFS 集群的信息(存储元数据)。2、资源管理,调度和分配Apache Hadoop YARN(Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统 一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨 大好处。三、Hadoop组件架构是什么样的看过了Hadoop 的基本介绍之后。我们来了解HDFS 和 YARN的核心架构和原理,先上HDFS框架图:看完上面的图之后,先来思考几个问题:1、元数据信息是什么,NameNode是如何维护元数据的,元数据信息如何保障一致性?NameNode维护了HDFS 集群的元数据信息,包括文件的目录树,每个文件对应的数据块列表,权限设置,副本数等等。元数据信息存储在内存里,那么NameNode异常宕机情况下咋办?NameNode对元数据的修改包含两个部分内存数据修改修改内存之后写一条EditLog再来看两个概念FsImage 和 EditLog:FsImage:FsImage是NameNode内存中元数据的镜像文件,是元数据的一个永久性checkpoint,包含了HDFS的所有目录和文件idnode的序列化信息,可以类比银行的账户余额,只有简单的信息。EditLog:EditLog是用于衔接内存元数据和FsImage之间的操作日志,保存了自最后一次检查点之后,所有针对HDFS文件系统的操作,比如增加文件、重命名文件、删除目录等等,可以类比银行的账户流水,包括每一笔的记录,如果日积月累,流水信息可以非常大。那么如果Editlog变的非常大之后,宕机之后需要读取Editlog进行恢复元数据,这是一个非常慢点过程。这个时候该StandbyNameNode 节点上场了。Standby 节点从JournalNode集合拉取Editlog,并定时将Editlog合并成FsImage. FsImage是一份合并之后的存量数据信息。同时将FsImage 上传到ActiveNode节点。2、NameNode Active 和 standby 之间是如何切换并始终保持一个ActiveNode?我们可以在上面的HDFS框架图中看到,链接ZK集群和NameNode的组件ZKFC1、ZKFC 监控NameNode的监控状态2、ZKFC 利用ZK提供的主备节点选举来切换3、通知和修改NameNode的状态4、确认元数据同步完成之后对外提供服务再来看YARN框架图:上图描述了YARN的一个任务的提交和资源分配流程,在整个过程中涉及到如下的组件:ResourceManeger:负责所有资源的监控、分配和管理,并处理客户端请求,启动和监控AppMaster,NodeManagerNodeManager:单个节点上的资源管理和任务管理,处理ResourceManager,AppMaster 的命令AppMaster:负责某个具体应用程序的调度和协调,为应用程序申请资源,并对任务进行监控Container:YARN中的一个动态资源分配的概念,其拥有一定的内存,核数。一个任务提交的整体流程:(1)Client向YARN中提交应用程序,其中包括ApplicationMaster程序、命令、用户程序,资源等。(2)ResourceManager为该应用程序分配第一个Container,并与对应的NodeManager通信,要求它在这个Container中启动应用程序的ApplicationMaster。(3)ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态(4)ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。(5)一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。(6)NodeManager为任务设置好运行环境(包括环境变量、Jar包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。(7)各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。(8)应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。通过上面的内容,可以对Hadoop 的一些基本框架有一些简单的印象了。之后在使用的时候可以对照上面的结构图和Hadoop 官网或者社区进行深入理解。本文首发于:大家如果想要一起交流,欢迎来github社区找我们~发布于 2021-03-19 10:52HadoopFlinkYARN​赞同 46​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录数栈精品技术文章分享数栈技术团队为大家带来精彩的技术文章分享

Hadoop 教程_w3cschool

Hadoop 教程_w3cschool

编程入门教程

编程课程

编程实战

编程题库

在线工具

VIP会员

送会员

App下载

扫码下载编程狮APP

注册|登录

注册成功

X

W3Cschool

恭喜您成为首批注册用户

获得88经验值奖励

马上体验

入门教程

编程课程

VIP会员

Hadoop 教程

收藏

更多文章

目录

搜索

书签

Hadoop 教程

Hadoop 关于

Hadoop 简介

Hadoop HDFS

Hadoop 写文件

Hadoop 读文件

Hadoop 可靠性

Hadoop 命令工具

Hadoop YARN

Hadoop ResourceManager

Hadoop NodeManager

Hadoop ApplicationMaster

Hadoop Container

Hadoop Failover

Hadoop MapReduce

Hadoop 读取数据

Hadoop Mapper

Hadoop Shuffle

Hadoop 编程

Hadoop IO

Hadoop 测试

Hadoop 安装

Hadoop 配置

Hadoop 监控

Hadoop 参考

Hadoop 相关教程

Hadoop 拓展教程

搜索

A

A

默认

夜间

Hadoop 教程

阅读(1729.4k)

收藏

赞(249)

分享

手册简介

Hadoop是一个开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。它的设计是从单个服务器扩展到数千个机器,每个都提供本地计算和存储。

手册说明

Hadoop教程Hadoop是一个开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。它的设计是从单个服务器扩展到数千个机器,每个都提供本地计算和存储。本教程提供了大数据的快速介绍,MapReduce算法和Hadoop分布式文件系统。学完本教程之后,您将会初步掌握Hadoop,并且进行简单的应用,请仔细认真学习!适用人群本教程面向希望使用Hadoop Framework了解大数据分析基础知识的专业人士,并成为Hadoop开发人员。软件专业人员,分析专业人员和ETL开发人员是本课程的主要受益人。学习前提在开始执行本教程之前,我们假设您先前已经了解过Core Java,数据库概念和任何Linux操作系统版本。Hadoop 相关教程《Hadoop 拓展教程》《Java教程》《Linux教程》《MySQL教程》参考网址链接:https://blog.csdn.net/heloiselt/article/details/80954679

更新记录

Hadoop 关于

02-28 10:16

Hadoop 参考

02-28 09:26

Hadoop 安装

02-28 09:26

Hadoop IO

02-28 09:26

Hadoop 编程

02-28 09:26

Hadoop Shuffle

02-28 09:26

Hadoop Mapper

02-28 09:26

Hadoop Failover

02-28 09:25

Hadoop Container

02-28 09:25

Hadoop ApplicationMaster

02-28 09:25

多端阅读

在PC/MAC上查看《Hadoop 教程》

下载《Hadoop 教程》离线版客户端,进入客户端后通过搜索当前教程手册的名称并下载,就可查看当前离线教程文档。

在移动端查看《Hadoop 教程》

扫一扫或直接访问 https://m.w3cschool.cn/hadoop/

在手机APP上查看《Hadoop 教程》

下载w3cschool手机App端,请从各大安卓应用商店、苹果App Store搜索并下载w3cschool手机客户端,在App中搜索当前教程手册的名称查看。

返回w3cschool官网主页

扩展栏目

开发工具IDE

编程训练营

Wiki列表

分类导航

最新推荐

免费Jquery插件合集

前端学习资源汇总

微信小程序资源汇总

Smarty 教程

SEO基础知识教程

Spring 教程

热门教程

Python3 教程

Java 教程

VUE3 教程

微信小程序开发文档

鸿蒙OS开发文档

HTML 教程

C语言教程

C++ 教程

Linux 教程

SQL 教程

PHP 教程

JavaScript 教程

HTML/CSS

HTML 教程

XHTML 教程

HTML5 教程

HTML 参考手册

CSS 教程

CSS3 教程

CSS 参考手册

Less 教程

Sass 教程

JavaScript

JavaScript 教程

HTML DOM 教程

JavaScript 和 HTML DOM 参考手册

JSON 教程

AJAX 教程

jQuery 教程

ES6 中文教程

TypeScript 教程

Node.js 教程

VUE3 教程

Vue.js 2.0 教程

Vue CLI 中文教程

React 教程

AngularJS 教程

Angular13

Highcharts 教程

ECharts 教程

Axios 中文文档

前端框架

Bootstrap4 教程

vue3.0 ElementPlus 中文版教程

Element React 中文文档

Vant 中文教程

Vant3 中文教程

Vant4

后端语言

Python3 教程

Java 教程

PHP 教程

Go 教程

C语言教程

C++ 教程

Kotlin 教程

Node.js 教程

C# 教程

R语言 教程

Ruby 教程

Lua 教程

ASP.NET 教程

Julia 教程

Excel VBA 编程教程

MATLAB 教程

Rust 语言中文版

Swift 教程

开发框架

Servlet 教程

JSP 教程

Spring 教程

Hibernate 教程

MyBatis 3手册

MyBatis-Plus教程

SpringBoot 那些事

jUnit 教程

SWING 教程

Django4 中文教程

Flask 教程

FastAPI 教程

Python Tornado教程

Gin 教程

iris教程

GoFrame教程

Revel 教程

WordPress 教程

数据库

MySQL 教程

Oracle 教程

PostgreSQL 13.1 中文教程

Redis 教程

SQL 教程

MariaDB 教程

SQLite 教程

MS Access 教程

MongoDB 教程

neo4j 教程

Storm 入门教程

Spark 编程指南

移动开发

鸿蒙OS开发文档

微信小程序开发文档

Android 教程

Android SDK 上手指南

iOS 开发手册

jQuery Mobile 教程

React Native 中文文档

uni-app 中文文档

小程序云开发高级教程

小程序云开发学习指南

Flutter 中文文档

Knockout应用开发指南

服务器相关

Linux 教程

Docker 教程

Kubernetes(k8s)手册

Docker 从入门到实践

DOS 命令学习手册

Nginx 入门指南

Shell 编程范例

UNIX 入门指南

Linux就该这么学

开发工具

Visual Studio Code 教程

Sublime Text 使用手册

Atom 教程

Vim 教程

Eclipse 教程

IntelliJ-IDEA中文教程

Git 教程

SVN 教程

Apache Ant 教程

Gradle 教程

Maven 教程

通俗易懂的 Npm 入门教程

Composer 教程

Vite教程

Webpack 中文指南

Flex 教程

Grunt 教程

HBuilder 使用教程

Tableau 教程

Chrome 开发工具指南

Electron 中文文档

正则表达式

Arduino 教程

Verilog手册

大数据

Hadoop 教程

Apache Pig 教程

Apache Kafka 教程

Apache Storm 教程

impala 教程

Zookeeper 教程

SAS 教程

Moralis Web3 企业级API

云数据库OceanBase教程

软件工程

软件工程教程

设计模式

软件测试教程

UML 教程

PHP设计模式

人工智能

Midjourney中文教程

AI人工智能教程

Copyright©2021 w3cschool编程狮|闽ICP备15016281号-3|闽公网安备35020302033924号

违法和不良信息举报电话:173-0602-2364|举报邮箱:jubao@eeedong.com

在线笔记

App下载

扫描二维码

下载编程狮App

公众号

编程狮公众号

意见反馈

意见反馈

X

意见反馈:

联系方式:

提交

查看完整版笔记

保存

关闭

教程纠错

教程纠错

违规举报

X

广告等垃圾信息

不友善内容

违反法律法规的内容

不宜公开讨论的政治内容

其他

提交

Hadoop 下载

Hadoop 下载

Toggle navigation

Hadoop 中文网

首页

下载

文档

Hbase

Maven

下载

为了方便起见,Hadoop作为源代码tarball和相应的二进制tarball发行。下载文件是通过镜像站点分发的,应使用GPG或SHA-512检查是否存在篡改。

发布日期

资料下载

二进制下载

发行说明

2.10.0

2019年10月29日

(校验和

签名)

二进制

(校验和

签名)

公告

3.1.3

2019年10月21日

(校验和

签名)

二进制

(校验和

签名)

公告

3.2.1

2019年9月22日

(校验和

签名)

二进制

(校验和

签名)

公告

2.9.2

2018年11月19日

(校验和

签名)

二进制

(校验和

签名)

公告

要使用GPG验证Hadoop版本:

从镜像站点下载发行版hadoop-XYZ-src.tar.gz 。

从Apache下载签名文件hadoop-XYZ-src.tar.gz.asc

下载Hadoop KEYS文件。

gpg –导入密钥

gpg –verify hadoop-XYZ-src.tar.gz.asc

要使用SHA-512快速检查:

从镜像站点下载发行版hadoop-XYZ-src.tar.gz 。

从Apache下载校验和hadoop-XYZ-src.tar.gz.sha512或hadoop-XYZ-src.tar.gz.mds

shasum -a 512 hadoop-XYZ-src.tar.gz

可从Apache版本存档站点获得所有Hadoop的先前版本。

许多第三方发行的产品包括Apache Hadoop和相关工具。其中的一些列在“ 发行” Wiki页面上。

执照

根据Apache License 2.0许可的软件

Apache Hadoop, Hadoop, Apache, the Apache feather logo,

and the Apache Hadoop project logo are either registered trademarks or trademarks of the Apache Software Foundation

in the United States and other countries

Copyright © 2006-2020 The Apache Software Foundation

Privacy policy