mapreduce执行模式
1.MR的分布式运行:yarn平台上
- 由MRApplicationMaster控制全部流程
- 每一个task以及MRApplicationMaster都以独立的进程运行在nodeManager的contain中执行;
2.MR的本地运行:MapReduce 程序是被提交给 LocalJobRunner 在本地以单进程多线程的形式运行
- 整个运行流程有localJobRunner控制
- 每一个task都以线程的方式执行
决定mr程序以分布式还是以本地模式运行:
//JobClient客户端程序的参数:
mapreduce.framework.name= local/yarn
其参数可以在jobclient代码中设置,也可以在jobclient所运行的机器的hadoop配置文件(mapred-site.xml)中配置
如果以分布式模式运行mr,则你所访问的文件系统一定要是HDFS!!!(参数: fs.defaultFS = hdfs://…)
如果以本地模式运行mr,则你所访问的文件系统可以是HDFS,也可以是本地文件系统;
本地模式运行可以在windows系统上(需要将windows本地库的bin目录配置到环境变量PATH中),也可以在linux系统上;
PS:如果有写错或者写的不好的地方,欢迎各位大佬在评论区留下宝贵的意见或者建议,敬上!如果这篇博客对您有帮助,希望您可以顺手帮我点个赞!不胜感谢!
原创作者:wsjslient |