转自:https://www.cnblogs.com/zdfjf/p/5175566.html
我们知道有eclipse的Hadoop插件,能够在eclipse上操作hdfs上的文件和新建mapreduce程序,以及以Run On Hadoop方式运行程序。那么我们可不可以直接在eclipse上运行Spark程序,提交到集群上以YARN-Client方式运行,或者以Standalone方式运行呢?
答案是可以的。下面我来介绍一下如何在eclipse上运行Spark的wordcount程序。我用的hadoop 版本为2.6.2,spark版本为1.5.2。
- Standalone方式运行
在应用程序代码中,指定spark服务器和应用程序jar位置即可,代码如下:
SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount");
sparkConf.setMaster("spark://192.168.0.1:7077");
JavaSparkContext ctx = new JavaSparkContext(sparkConf);
ctx.addJar("C:\\Users\\Frank\\sparkwordcount.jar");
- yarn-client方式运行
System.setProperty("HADOOP_USER_NAME", "hadoop");
SparkConf sparkConf = new SparkConf().setAppName("JavaWordCountByFrank01");
sparkConf.setMaster("yarn-client");
sparkConf.set("spark.yarn.dist.files", "C:\\software\\workspace\\sparkwordcount\\src\\yarn-site.xml");
sparkConf.set("spark.yarn.jar", "hdfs://192.168.0.1:9000/user/hadoop/spark-assembly-1.5.2-hadoop2.6.0.jar");
JavaSparkContext ctx = new JavaSparkContext(sparkConf);
ctx.addJar("C:\\Users\\Frank\\sparkwordcount.jar");