hadoop
-------------------------------
1.组成:common、hdfs、mapreduce、yarn。
2.hadoop集群搭建流程:3种搭建流程。
3.hdfs shell命令
4.hdfs体系结构:主从结构{namenode、datanode、secondarynamenode}
都是守护进程而非节点。【官网结构图】
fsimage和editlogs概念:checkpoint检查点机制,集群的启动过程。
5.hdfs dfsadmin操作
6.hdfs API
MapReduce:分而治之:数据在哪计算在哪!!!
-------------------------------
1. 通用的计算框架(应用程序Job),并行计算:map阶段--reduce阶段
map(映射):并行处理
实现:map函数
reduce(化简或归约):整合排序。
实现:reduce函数
2.MR程序采用<key,value>键值对的方式。
输入------------------输出
<key,value>-----------<key,value>
键和值必须由框架序列化:数据持久化+网络间通信
3.MR数据流转
(input) <k1, v1> -> map -> <k2, v2> -> combine -> <k2, v2> -> reduce -> <k3, v3> (output)
MR编程思路
----------------------------------
词频统计:n个文件,每个文件有m行数据,每行数据由空格分割。
如:text1.txt
hello word
how are you
ni hao
hello tom
如:text2.txt
zhang yuejiu
hello lilei
ni hanmeimei
hello tom
求每个单词出现的次数
前提:hadoop集群处于运行状态。
1. 创建java工程、 导入相关jar包
2. 编写Map函数
创建MyMapper类
3. 编写Reduce函数
创建MyReducer类
4. 编写Driver驱动程序
5. 总结:MapReduce填空式编程。
6. 运行:
a. 打jar包:export-->选中src文件,制定mainclass
b. 挂载,执行相关的jar
c. 执行命令
$>hadoop jar /home/hadoop/wc.jar /input /output
d. 打印结果
e. 查看最终结果:【part_00000001】