Springboot with Spark in Yarn mode



我正在尝试使用弹簧启动运行生活火花会话。我的目标是用弹簧靴在纱线模式下运行火花。

  1. 我只想只有一个jar文件作为工件,并且不想分离火花依赖项
  2. 除了下面的代码,我还需要添加任何配置吗?当我尝试时,它总是尝试连接到本地主机而不是实际主机。 (RMProxy:连接到/0.0.0.0:8032 处的资源管理器 23-01-20 20:14:14 信息客户端:重试连接到服务器:0.0.0.0/0.0.0.0:8032(
  3. 是否需要任何单独的配置来记录工作线程日志以及驱动程序日志?
SparkConf conf = new SparkConf().
set("spark.driver.extraJavaOptions", "Dlog4j.configuration=file://src/main/resources/log4j.properties").
set("spark.executor.extraJavaOptions","Dlog4j.configuration=file://src/main/resources/log4j.properties").
set("yarn.resoursemanager.address","http://my-yarn-host").
set("spark.yarn.jars","BOOT-INF/lib/spark-*.jar").
setAppName("NG-Workbench").setMaster("yarn");
JavaSparkContext sc = new JavaSparkContext(conf);
List<String> word = new ArrayList<>();
word.add("Sidd");
JavaRDD<String> words = sc.parallelize(Arrays.asList("Michel", "Steve"));
Map<String, Long> wordCounts = words.countByValue();
wordCounts.forEach((k, v) -> System.out.println(k + " " + v));
sc.close();

我建议您在工件中添加一些配置文件:

  • 纱线站点.xml
  • 核心站点.xml
  • HDFS-site.xml
  • 地图网站.xml

否则,您可以在Spark-conf中添加以下2个属性:

  • spark.hadoop.yarn.resourcemanager.address : "XXXX:8050">
  • spark.hadoop.yarn.resourcemanager.hostname: "XXXX">

最新更新