20200911:
1mapreduce流程
(job在这开始了)–>TaskTracker–>map/reduce task
resoucemanager-- >app master–>container
scheduler
spilt–>map–>combiner聚合–>partioner分区–>reducer–>resoucemanager
分为map reduce
接收客户端job请求 执行map reduce 返回心跳 map输出到reduce
2Hadoop1.0 2.0的主要区别
1.0管理和计算都是由mapreduce完成/2.0引入yarn 即分布式资源管理系统 yarn加入后计算框架可以扩展
3driver类的核心逻辑
job对象 -->指定driver为驱动类–>设置mapper和reducer/partition(可能设置这个)–>设置mapper和redcuer的输出类型–>设置输入输出文件路径–>运行
4文件关联的逻辑
mapper端负责把文件合并 并且根据任务逻辑把相同的key归类。
reducer端负责根据相同的key来进行关联
建立连接 声明map和reduce 指定map和reduce输出类型 文件的读写
1.直接启动或者关闭所有的进程(不推荐,由于分布式下,namenode和datanode分布在不同机器上,启动的进程不相同)
在启动hadoop进程的时候我们通常都是直接使用(默认hadoop根目录下)
sbin/start-all.sh
sbin/stop-all.sh
但是有时候直接启动进程并不完整,我们就需要使用单独的命令
2.分模块启动(推荐)
2.1.启动和关闭 namenode,secondaryNamenode和datenode (启动hdfs)
start-dfs.sh stop-dfs.sh
2.2启动yarn
start-yarn.sh stop-yarn.sh
3.各个节点单独启动
- 单独启动namenode守护进程
hadoop-daemons.sh start namenode - 单独启动DataNode守护进程
hadoop-daemons.sh start datanode - 单独启动SecondaryNameNode 守护进程
hadoop-daemons.sh start SecondaryNameNode
4.开启resourcemanager
yarn-daemon.sh start resourcemanager
5.开启nodemanager
yarn-daemons.sh start nodemanager
6.启动historyserver
mr-historyserver-dameon.sh start /stop historyserver