Hadoop详细过程

install

参考http://www.jianshu.com/p/3aebdba32363

在/usr/local/Cellar/hadoop/2.8.0/sbin目录下, 执行如下命令

./start-dfs.sh  #启动HDFS ./stop-dfs.sh #停止HDFS

在浏览器打开
http://localhost:50070/dfshealth.html#tab-overview

配置环境变量

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
export JRE_HOME= JAVAHOME/jreexportHADOOPHOME=/usr/local/Cellar/hadoop/2.8.0exportCLASSPATH= JAVA_HOME/lib: JREHOME/lib: CLASSPATH
export HADOOP_HOME_WARN_SUPPRESS=1
export PATH= JAVAHOME/bin: JRE_HOME/bin: HADOOPHOME/bin: PATH

其中:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
export JRE_HOME=$JAVA_HOME/jre
是java的系统环境变量。

export HADOOP_HOME=/Users/Apple/Documents/hadoop-1.2.1
是配置Hadoop的系统环境变量

export HADOOP_HOME_WARN_SUPPRESS=1
是防止出现:Warning: $HADOOP_HOME is deprecated的警告错误。
上述环境变量增加完成后,退回到终端,输入:

source ~/.bash_profile

使得环境变量设置生效!

introduce

用户只需要实现map() reduce()这两个函数,即可实现分布式计算

map reduce形参: key value对,表示函数的输入信息

特点:
高容错、高扩展、编程简单、适合大数据离线批量处理

图解:

这里写图片描述

map任务处理过程

1.读取文件内容,解析成key value对。输入文件的每一行解析成key value对。每个键值对调用一次map函数。

2.写自己的逻辑,将输入的key value键值对转换成新的key value输出

3.对输出的key value进行分区

4.对不同分区的数据按照key值排序、分组,将相同key值的value放到同一集合

5.分组后的数据进行规约

reduce任务处理

1.将多个map数据的输出按照不同的分区,通过网络copy到不同reduce节点。

2.将map输出合并 排序。写reduce自己逻辑,处理key value 转换成新的key value 输出

3.将reduce输出保存到文件

键值对格式

这里写图片描述

MR过程

  • jobClient:提交作业

  • JobTracker:初始化作业 分配作业

  • TaskTracker:定期与JobTracker通信,执行map reduce任务

localizeJob() launchTaskForJob()

  • HDFS:保存作业的数据 配置 jar包 结果

词频统计过程

这里写图片描述

这里写图片描述

其它介绍

HDFS —海量数据存储

主节点 namenokde
从节点 datanodes

MapReduce —分布式计算模型 海量数据分析
Yarn —资源管理调度系统 (支持spark、storm用于推荐、Hive、Hbase)
Hadoop —海量数据离线处理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值