以本地方式运行mapreduce程序的参数配置

方式一

在本地运行提交job的mapreduce程序的客户端


		// 在代码中设置JVM系统参数,用于给job对象来获取访问HDFS的用户身份
		System.setProperty("HADOOP_USER_NAME", "root");
		Configuration conf = new Configuration();
		// 设置job运行时要访问的默认文件系统
		conf.set("fs.defaultFS", "hdfs://hdp-01:9000");
		// 设置job提交到哪去运行
		conf.set("mapreduce.framework.name", "yarn");
		// 设置resourcemanager的主机名
		conf.set("yarn.resourcemanager.hostname", "hdp-01");
		// 创建一个任务对象
		Job job = Job.getInstance(conf);
		// 设置jar包的所在的本地磁盘位置
		job.setJar("/Users/zhblanlan/Desktop/wordcount.jar");

注意:设置jar包所在位置的时候,在本地磁盘路径要先导出相应的jar包。

方式二

以本地方式运行mapreduce程序

		// 在代码中设置JVM系统参数,用于给job对象来获取访问HDFS的用户身份
		System.setProperty("HADOOP_USER_NAME", "root");
		Configuration conf = new Configuration();
		// 设置job运行时要访问的默认文件系统为:本地
		conf.set("fs.defaultFS", "file:///");
		// 设置job提交到本地运行
		// conf.set("mapreduce.framework.name", "local");
		// 设置resourcemanager的主机为:本地
		conf.set("yarn.resourcemanager.hostname", "0.0.0.0");
		// 创建一个任务对象
		Job job = Job.getInstance(conf);
		// 设置jar包的所在位置
		job.setJarByClass(WordCountMain.class);
		

方式三
即可以本地方式运行也可以在hadoop集群机器上运行(使用的默认的参数)

Configuration conf = new Configuration();
Job job = job.getInstatnce(conf);

// 本地运行提交job的客户端程序(适用于win)
// 设置跨平台参数为:true;因为在win(F:\\test.txt)下的路径方式和linux(/root/test.txt)路径方式不同
conf.set("mapreduce.app-submission.cross-platform “,"true");

提交到hadoop集群机器上运行需要hadoop jar xxx.jar 主类的全类名 输入路径 输出路径

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值