Hadoop基础(九) --- Ubuntu和Eclipse运行MR作业,win安装hadoop,Ant脚本实现快速打包,MR底层通信原理分析流程图
一、combiner
---------------------------------
降低网络负载
二、Ubuntu Hadoop 运行分布式作业
-----------------------------------
1.启动hadoop集群
start-dfs.sh
start-yarn.sh
注意:注释掉HA
2.将MR作业程序导出成jar包
eclipse --> export --> myhadoop.2.7.2.jar
3.准备数据,将1901 和 1902 气象数据,put到hdfs
4.运行 hadoop jar命令
hadoop jar myhadoop.2.7.2.jar test.mapreduce.MaxTemperature
三、Ubuntu Eclipse 下运行MR作业
---------------------------------------------
1.启动hadoop集群
start-dfs.sh
start-yarn.sh
注意:注释掉HA
2.在eclipse src目录下,添加自定义配置文件
core-site.xml
fs.defaultFS = hdfs://s100:8020
mapped-site.xml
mapreduce.framework.name = yarn
yarn-site.xml
yarn.resourcemanager.hostname = s100
3.export jar --> bulid to path
4.运行app.main函数
四、MR作业--计数器Counter
----------------------------------------------
context.getCounter("g-1", "name").increment(1);
五、windows 上安装 hadoop 2.7.2 ,但是只能用作客户端
------------------------------------------------
1.下载并解压安装包--注意解压路径不要有中文和空格
2.配置环境变量
HADOOP_HOME="解压路径"
path= ... %HADOOP_HOME%/bin;%HADOOP_HOME%/sbin
3.验证安装成功与否
hadoop version
4.修改配置文件
core-site.xml
hdfs-site.xml
mapred-site.xml
6.将winutils.exe 和 hadoop.dll 复制到 %hadoop_home%/bin目录下
六、Eclipse 上安装 hadoop插件
-----------------------------------------------
1.下载并解压 hadoop2x-eclipse-plugin.zip
2.找到三个jar文件,[hadoop2x-eclipse-plugin/release],拷贝到eclipse安装路径的luugins下[C:\Program Files (x86)\eclipse\eclipse\plugins]��
3.打开eclipse配置插件
eclipse--> 首选项 --> hadoop --> install dir --> 选择自己的hadoop安装路径
4.打开 eclipse的 mapreduce 透视图
5.在 底部控制台区域,找到 Map/Reduce Location ,然后 右键空白处,选择 new hadoop location
6.填写好自己对应的host和ip,点击finish完成
七、在Eclipse 中编写ant脚本
------------------------------------------------
1.eclipse中已经集成好ant插件了
2.使用ant脚本,进行快速的一键式打包
<project name = "mytest03" basedir = "." default="finish">
<!-- 1.准备工作 -->
<target name = "prepare">
<!-- a.删除目录和文件-->
<delete dir = "${basedir}/build" />
<delete file = "${basedir}/lib/my.jar" />
<!-- b.创建目录-->
<mkdir dir="${basedir}/build/classes"/>
<mkdir dir="${basedir}/lib"/>
</target>
<!-- 2.定义变量:路径变量,包含所有用到的jar包 -->
<path id="mypath">
<fileset dir = "D:\share\hadoop_2.7.2\hadoop-2.7.2\hadoop-2.7.2\_libs">
<include name = "*.jar" />
</fileset>
</path>
<!-- 3.编译程序 -->
<target name="compile" depends="prepare">
<javac srcdir="${basedir}/src" destdir="${basedir}/build/classes">
<classpath refid="mypath"></classpath>
</javac>
</target>
<!-- 4.拷贝文件,将配置文件拷贝到classes下,一起打成jar包 -->
<target name="copy" depends="compile">
<copy file="${basedir}/conf/core-site.xml" todir="${basedir}/build/classes"></copy>
<copy file="${basedir}/conf/mapred-site.xml" todir="${basedir}/build/classes"></copy>
<copy file="${basedir}/conf/yarn-site.xml" todir="${basedir}/build/classes"></copy>
</target>
<!-- 5.打jar包操作-->
<target name="package" depends="copy">
<jar destfile="${basedir}/lib/my.jar" basedir="${basedir}/build/classes"></jar>
</target>
<!-- 6.完成工作,输出done! -->
<target name="finish" depends="package">
<echo> well done !!</echo>
</target>
</project>
八、MR底层通信原理分析流程图
---------------------------------------------------------------------------------------------------