Hadoop的基础知识点有哪些

发布时间:2021-12-09 14:47:56 作者:iii
来源:亿速云 阅读:255
# Hadoop的基础知识点有哪些

## 一、Hadoop概述
Hadoop是由Apache基金会开发的**开源分布式计算框架**,核心设计目标是解决**海量数据存储(HDFS)**和**分布式计算(MapReduce)**问题。其主要特点包括:
- **高容错性**:自动处理节点故障
- **高扩展性**:可横向扩展至数千节点
- **低成本**:运行在普通商用硬件上

## 二、Hadoop核心组件

### 1. HDFS(Hadoop Distributed File System)
**分布式文件系统**,核心设计思想:
- **主从架构**:
  - NameNode:管理元数据(单点故障问题)
  - DataNode:存储实际数据块(默认3副本)
- **分块存储**:文件被切分为固定大小Block(默认128MB)
- **写一次读多次**模型

### 2. YARN(Yet Another Resource Negotiator)
**资源管理系统**,包含:
- **ResourceManager**:全局资源调度
- **NodeManager**:单节点资源管理
- **ApplicationMaster**:应用级任务管理

### 3. MapReduce
**分布式计算框架**,处理流程:
1. Input Split → 2. Map阶段 → 3. Shuffle → 4. Reduce阶段 → 5. Output

## 三、Hadoop生态系统

| 组件          | 功能描述                     |
|---------------|----------------------------|
| HBase         | 分布式NoSQL数据库           |
| Hive          | 数据仓库工具(SQL接口)      |
| Pig           | 高级数据流语言              |
| Spark         | 内存计算框架                |
| Flume         | 日志收集系统                |
| Sqoop         | 关系型数据库与HDFS数据传输   |

## 四、关键特性与技术

### 1. 数据本地化(Data Locality)
计算任务优先调度到存储数据的节点执行,减少网络传输。

### 2. 容错机制
- **心跳检测**:NameNode定期检查DataNode存活状态
- **副本机制**:默认3副本存储策略
- **Secondary NameNode**:辅助合并fsimage和edits(非热备)

### 3. 压缩技术
支持多种压缩格式(Snappy、LZO、Gzip等),平衡计算/IO资源。

## 五、基础架构示例

```java
// 典型MapReduce代码结构
public class WordCount {
  public static class TokenizerMapper 
       extends Mapper<Object, Text, Text, IntWritable>{...}
  
  public static class IntSumReducer
       extends Reducer<Text,IntWritable,Text,IntWritable> {...}
  
  public static void main(String[] args) throws Exception {
    Configuration conf = new Configuration();
    Job job = Job.getInstance(conf, "word count");
    job.setJarByClass(WordCount.class);
    job.setMapperClass(TokenizerMapper.class);
    job.setCombinerClass(IntSumReducer.class);
    job.setReducerClass(IntSumReducer.class);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(IntWritable.class);
    FileInputFormat.addInputPath(job, new Path(args[0]));
    FileOutputFormat.setOutputPath(job, new Path(args[1]));
    System.exit(job.waitForCompletion(true) ? 0 : 1);
  }
}

六、部署模式

  1. 本地模式:单机调试
  2. 伪分布式:单节点模拟集群
  3. 完全分布式:生产环境多节点集群

七、常用命令

# HDFS操作
hadoop fs -ls /          # 查看根目录
hadoop fs -put local /hdfs # 上传文件
hadoop fs -get /hdfs local # 下载文件

# YARN操作
yarn application -list    # 查看运行任务

八、版本演进

九、学习建议

  1. 掌握Linux基础命令
  2. 理解分布式系统基本原理
  3. 实践搭建伪分布式环境
  4. 从WordCount示例入手

注意:实际生产环境中通常需要结合ZooKeeper实现高可用,并配合Ambari等工具进行集群管理。 “`

(全文约980字,可根据需要增减细节)

推荐阅读:
  1. HTML的基础知识点有哪些
  2. Hadoop的联邦机制知识点有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hadoop

上一篇:Hadoop基础知识有哪些

下一篇:如何快速给Hadoop集群加上弹性

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》