您的位置:首页 > 运维架构

Hadoop学习

2015-07-02 10:17 375 查看
云计算的源起:通过把众多的计算机通过集群的方式并行同时运行,以此来提高运行的速度。

Hadoop是由:

HDFS(分布式文件系统)和分布式并行编程框架(MapReduce)还有子项目Hive、HBase、Mahout、 Pig、ZooKeeper等构成

字节单位的大小:B-KB-MB-GB-TB-PB-EB-ZB

MapReduce 用来处理并行计算大规模海量数据的,其中的核心操作为Map和Reduce

Map(映射)通过函数,Reduce(归约)通过函数

Map负责把任务分解成多个任务,Reduce负责把分解后的多个任务处理的结果汇总起来.

MapReduce模式的主要思想是将要自动分割执行的问题(例如程序)拆解成Map(映射)和Reduce(化简)方式.

Map->combine->shuffle and sort -> reduce

MapReduce程序是转变输入数据列表成输出数据元素列表

Mapping

Mapper针对每一个输入元素都要生成一个输出元素,Reducer针对每一个输入列表都要生成一个输出元素.

Reducing函数的作用是把一个大的数据列表转变为一个(或几个)输出数值,有相同键的所有数值会被一起送到一个Reducer里.

MapReduce的集群行为包括:

1.任务调度:(1)MapReduce任务是由一个JobTracker和多个TaskTracker两类节点控制完成.

JobTracker主要负责管理TaskTracker,通常是运行在master节点上的.JobTracker将Mapper和Reducer分配给空闲的TaskTracker后,由TaskTracker负责这些任务的并行执行.

(2)TaskTracker节点必须运行在DataNode节点上,所以说DataNode既是数据存储节点,也是计算节点.

(3)JobTracker监控任务的运行情况,如果某个TaskTracker发生故障,JobTracker就会将其负责的任务分配给其他空闲的TaskTracker重新执行.

2.本地计算:把计算节点和数据节点置于同一台计算机上,MapReduce框架尽量保证存储的数据节点执行计算任务,从而有效的减少了数据在网络中的传输,降低了对带宽的需求.避免的网络”瓶颈”.

3.Shuffle洗牌过程:MapReduce会将Mapper的输出结果按照key值分成R份,其中R是预先定义的Reducer的个数,划分时常用Hash(哈希)函数,如Hash(key)modR.

4.合并Mapper输出:MapReduce允许在Shuffle之前先对结果进行合并(Combine),即将中间结果中有相同的key值的多组

hdfs dfs -mkdir /test


显示文件列表的命令如下:

hdfs dfs -ls /


把本地文件放到服务器上的操作命令如下:

hdfs dfs -put ./filename ./test/


移除文件的命令如下:

hdfs dfs -rm ./test/


移除文件夹和里面的文件的命令如下:

hdfs dfs -rmr ./test/


重集群上获得文件的命令如下:

hdfs dfs -get ./test/


Map处理->combine->shuffle and sort->reduce(分发)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop