Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务

Hadoop windows编写代码,Linux执行任务

步骤

  1. 指定构建jar包(用于上传至hadoop各个节点,防止出现:java.lang.ClassNotFoundException
  2. 在代码中配置,目的在于将hadoop配置写入应用,从而访问服务器的hadoop集群
  3. 构建jar包,指定jar包位置后,在写完代码后许构建jar包,这样才能上传

1.设置Jar

首先进入Project Structure
Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第1张图片
随便起个放置jar包位置的名称
Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第2张图片
创建Manifest,Manifest默认即可
Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第3张图片
双击下面的compile output让其在hadoop.jar下面
Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第4张图片

Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第5张图片

2.代码中设置配置并指定jar

Configuration configuration = new Configuration();
//下面的xiatom-n是集群中不同节点
configuration.set("fs.defaultFS", "hdfs://xiatom-1:9000");
configuration.set("hadoop.tmp.dir", "/opt/module/hadoop-2.7.2/data/tmp");
configuration.set("yarn.resourcemanager.hostname","xiatom-2");
configuration.set("mapreduce.framework.name","yarn");
//下面是允许跨平台运行任务
configuration.set("mapreduce.app-submission.cross-platform", "true");
configuration.set("mapred.jar", "F:\\JavaProject\\hadoopDemo\\out\\artifacts\\hadoop\\hadoop.jar");

3.运行前build jar

Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第6张图片

Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第7张图片
这样会构建jar包并存入我们之前指定的路径,连接到服务器运行应用时会将jar包上传至各个节点。

设置Hadoop User

Hadoop(四):windows中IDE编写代码,将任务上传至Linux,Linux执行任务_第8张图片
解决权限问题

至此就可以在本地开发Hadoop应用,运行job在linux上了

你可能感兴趣的:(Hadoop)