mapreduce的原理
MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,
然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。
在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、
容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个函数:map和reduce,map负责把任务分解成
多个任务,reduce负责把分解后多任务处理的结果汇总起来。
需要注意的是,用MapReduce来处理的数据集(或任务)必须具备这样的特点:
待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。
1.)打jar包:export–>java–>Jar file -->选中src文件(不选配置文件和lib),
指定mainclass 找到主方法类,将其打包压缩在windows与linux的共享文件夹中,命名为wordcount.jar,将wordcount.jar包拷贝到linux桌面下
错误没有启动Yarn 找不到资源管理器
INFO client.RMProxy: Connecting to ResourceManager at master/192.168.172.133:8032
20/04/26 20:38:49 INFO ipc.Client: Retrying connect to server: master/192.168.172.133:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
$>start-dfs.sh
$>start-yarn.sh
2)使用我们写好的jar包运行wordcount功能
hadoop jar wordcount.jar /wordcount /wordcountout
与之前在esclipes中本地运行时有些许不一样,当时是把路径写死,现在则是要用户自己输入路径