我想远程激发开发环境。
机器是我的开发机器,java,eclipse,windows 10。
我还有另一台机器已经安装了cloduera(火花上的火花)。
我试过这个
String appName = "test" + new Date(System.currentTimeMillis());
String master = "spark://*:6066";
String host = "*";
String jar = "C:\\Users\\default.DESKTOP-0BP338U\\Desktop\\workspace\\workspace_study\\spark-start-on-yarn\\target\\spark-start-on-yarn-0.0.1-SNAPSHOT.jar";
SparkConf conf = new SparkConf().setAppName(appName).setMaster(master)
.set("spark.driver.host", host)
.setJars(new String[]{jar});
JavaSparkContext sc = new JavaSparkContext(conf);
但连接被拒绝了。
如何在我的A机器上开发和测试火花程序?
我添加了环境变量
这是我的代码
SparkConf conf = new SparkConf()
.setAppName(new Date(System.currentTimeMillis()).toString())
.setMaster("yarn");
JavaSparkContext sc = new JavaSparkContext(conf);
List<Integer> data = Arrays.asList(1,2,3,4,1,2,3,4,5,1,4,1,1,1,4,2,2,4,1,1,3,4,2,3);
JavaRDD<Integer> distData = sc.parallelize(data);
JavaPairRDD<Integer, Integer> pairs = distData.mapToPair(s -> new Tuple2<Integer, Integer>(s, 1));
JavaPairRDD<Integer, Integer> counts = pairs.reduceByKey((a, b) -> a + b);
System.out.println("================= " + counts);
sc.close();
sc.stop();
并且错误是“SparkException:Cloud不解析主URL:'yarn'”
我错过了什么?请帮帮我......
答案 0 :(得分:1)
你需要
下载Hadoop集群的HADOOP_CONF_DIR
配置文件。
在您的计算机中设置HADOOP_CONF_DIR
envrionment变量。或者,如果这不起作用,则可以将XML文件放在src/main/resources
文件夹中,以将它们包含在类路径中。
使用setMaster("yarn-client")
确保
HADOOP_CONF_DIR
或YARN_CONF_DIR
指向包含Hadoop集群(客户端)配置文件的目录。这些配置用于写入HDFS并连接到YARN ResourceManager)
Running Spark from an outside machine
使用本地用户名制作HDFS /user
文件夹。这是HDFS权限所必需的。
开发,最好使用Maven / Gradle来管理Java库。您还需要使用Cloudera Maven repository for you respective Hadoop versions
您也不需要setJars()
。您的应用应该连接并自行运行。