大数据程序员Java技术升华

Hadoop基本知识点总结

2018-03-11  本文已影响115人  花生花二三说

内容参考链接:慕课网--Hadoop大数据平台架构基础篇
Google大数据技术(3大):MapReduceBigTableGFS
革命性的变化

  1. 成本降低,能用Pc 机,就不用大型机和高端存储。
  2. 软件容错硬件故障视为常态,通过软件保证可靠性。
  3. 简化并行分布式计算,无须控制节点同步和数据交换。

模仿Google大数据技术的开源实现:Hadoop

Hadoop是什么:分布式存储+分布式计算平台

包含两个核心组成
(1)HDFS:分布式文件系统,存储海量的数据
(2)MapReduce****:并行处理框架,实现任务分解和调度

Hadoop可以用来做什么:搭建大型数据仓库,PB级数据的存储、处理、分析、统计等业务。

Hadoop优势:

  1. 高扩展
  2. 低成本
  3. 成熟的生态圈
    Hadoop生态系统:
    1、Hive:sql->mapreduce
    2、Hbase:存储结构化数据的分布式数据库
    与传统的关系型数据库不同,Hbase放弃事务特性,追求更高的扩展;
    与hdfs不同:hbase提供数据的随机读写和实时访问,实现对表数据的读写功能;
    3、Zookeeper:监控Hadoop集群中每个节点的状态

Hadoop安装:
(1) 准备liunx环境
(2) 安装JDK
(3) 配置hadoop

HDFS的体系架构:
HDFS基本概念:

HDFS体系结构

HDFS中数据管理与容错:

(1) 数据块副本,每个数据块3个副本,分布在两个机架内的三个节点

数据块副本
(2) 心跳检测:DataNode定期向NameNode发送心跳信息
心跳检测
(3) 二级NameNode
定期同步元数据映像文件和修改日志,NameNode发生故障时,备胎转正
二级NameNode
HDTS读取文件的流程:
读取文件
HDTS写入文件的流程:
写入文件

HDFS的特点:

1、 数据冗余,硬件容错
2、 流式的数据访问,写一次,读多次
3、 存储大文件

HDFS
适合数据批量读取吞吐量高;
不适合交互式应用,比如数据库,低延迟很难满足

适合一次写入多次读取,顺序读写
不支持多用户并发写相同文件

命令:

hadoop fs –ls /

把当前目录下HDFS文件夹打印出来

hadoop fs –put tt.txt input/

把本地的一个文件tt.txt放到input目录下

hadoop fs –mkdir input

建立input目录

hadoop fs –get input/tt.txt tt1.txt

从hdfs下载文件到本地

hadoop dfsadmin –report

查看文件系统内所有信息

MapReduce原理:
分而治之,一个大任务分成多个子任务(Map),并行执行后,合并结果(reduce)

MR原理

MapReduce的运行流程:

体系结构

基本概念

MapReduce作业执行过程:

作业执行过程

MapReduce的容错机制:
(1) 重复执行
重复执行4次后,若还是失败,则放弃
(2) 推测执行
Map端执行完成后,reduce端才会开始,比如某个taskTracker算的特别慢,会找一个跟这个taskTracker一样任务的去执行,保证整个任务不会因为某个tasktracker的故障而执行效率低。

Mapreduce的应用案例:

(1)应用案例一:wordcount单词计数
计算文件中出现每个单词的频数
输入结果按照字母顺序进行排序
(2)应用案例二:利用MR进行排

上一篇下一篇

猜你喜欢

热点阅读