MapReduce :java编写
数仓开发 sql=》 Hive
MapReduce easily writing application 轻松编写应用程序
对于如何容错,如何进行RPC通信等,开发人员不需要关注,关注我们的业务即可,这方面来讲是easily 但是对MR开发很麻烦 相较于SPARK
(业务逻辑 + MR框架自带的内置组件=》 分布式应用程序开发)
Map:映射 把一个任务拆解成多个
Reduce:聚合 把拆解的任务做最后的聚合操作
wordcount 举例子
hdfs hadoop hdfs namenode Secondarynamenode datanode resourcemanage applicationmaster
nodemanager container
Map (hdfs,1) (hadoop,1) hdfs,1)
Reduce (hdfs,2)
MapReduce --使用场景/不适用场景
使用:离线 批处理
不适用:实时计算
关注运行中的进程(JPS)
NameNode
SecondaryNameNode
DataNode
ResourceManager
DataManager
运行官网第一个例子
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[az.]+'
MR运行进程中多了这三个
RunJar
YarnChild Task(Map Task Reduce Task)
MRAppMater
Map Task Reduce Task MRAppMater 都是以进程的方式进行的,那么进程申请资源,运行,释放资源,这就是MR慢的原因
进程线程的区别: