MR之重写分区分组规则,movie评分高效排序案例分析
程序打包成jar包保存到windows本地桌面 ,运算数据提交到 hdfs 和 yarn 上运行,在windows java客户端启动程序 ,然后输出结果也是输出到 hdfs 上
1 先将数据上传到linux集群上 ,直接在namenode节点上上传,将上传的待处理的文件添加到一个指定的目录下保存 ,方便后续将该文件上传到 hdfs 上存储 :
2 查看是否成功上传到namenode节点上 , 在当前目录下将待处理文件再上传到 hdfs 的根目录下或者是根目录下的指定文件夹上存储,方便后续程序的运行.
hdfs dfs -put ./待处理的文件名 /yarn
3 回到java客户端 ,新建一个 maven 项目,在File–>Setting上将设置设好 ,将四个配置文件导入到 java客户端的文件夹下(建立hdfs和yarn的java客户端/连接上java客户端),文件夹需要配置好–>右键单击–>Make Directory as–>Test Resources Root .
4 四个配置文件分别是 :
4.1) hdfs-site.xml ( /opt/apps/hadoop-3.2.1/etc/hadoop目录下,需要将其下载到windows上 ,再复制粘贴到java客户端的配置文件夹下)
<configuration>
<!-- 设置集群的数据块大小和数据块复制副本多少份-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>32M</value>
</property>
</configuration>
4.2) log4j.properties
log4j.rootLogger=info,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=mapreduce_test.log
log4j.appender.R.MaxFileSize=1MB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger.com.codefutures=DEBUG
4.3) mapred-site.xml ( /opt/apps/hadoop-3.2.1/etc/hadoop目录下,需要将其下载到windows上 ,再复制粘贴到java客户端的配置文件夹下)
<configuration>
<property>
<name>mapreduce.application.classpath</name>
<value>/opt/apps/hadoop-3.2.1/share/hadoop/mapreduce/*,/opt/apps/hadoop-3.2.1/share/hadoop/mapreduce/lib/*</value>
</property>
<property>
<!-- Mapper 和 Reducer 程序在yarn上运行! -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/opt/apps/hadoop-3.2.1</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/opt/apps/hadoop-3.2.1</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/opt/apps/hadoop-3.2.1</value>
</property>
</configuration>
4.4) yarn-site.xml ( /opt/apps/hadoop-3.2.1/etc/hadoop ,同上处理)
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- resource,manager主节点所在机器 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>doit03</value>
</property>
<!-- 为mr程序提供shuffle服务 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 一台NodeManager的总可用内存资源 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>