当前位置: 首页 > 知识库问答 >
问题:

自定义源/接收器配置无法识别

苏选
2023-03-14

我已经为我的Spark流应用程序编写了我的自定义度量源/接收器,我正试图从metrics.properties初始化它——但这在executors上不起作用。我不能控制Spark集群中的机器,所以我不能复制集群中$SPARK_HOME/conf/中的属性文件。我把它放在我的应用程序所在的fat jar中,但是当我的fat jar被下载到集群中的worker节点上时,executors已经被启动了,它们的度量系统也已经被初始化了——因此没有选择我的包含定制源代码配置的文件。

在这篇文章之后,我指定了“spark.文件 = 指标属性”和“spark.metrics.conf=metrics.属性”,但是当“metrics.properties”交付给执行程序时,他们的度量系统已经初始化。

如果我初始化我自己的度量系统,它会拾取我的文件,但我会丢失主/执行器级别的度量/属性(例如executor.sink.mySink.propName=myProp-无法从“mySink”读取“propName”),因为它们是由Spark的度量系统初始化的。

在执行者初始化他们的度量系统之前,有没有一个(编程的)方法来发布“metrics.properties ”?

更新1:我正在独立的Spark 2.0.0集群上进行尝试

更新2:在实现这个目标时考虑了黑客——在开始你的“实际”火花作业之前,开始一个虚拟作业,在每个工人身上复制metrics.properties。然后用预先知道的文件位置开始你的实际工作。缺点——如果一个工人死了,另一个工人取代了它,它不会把这个文件放在预先知道的路径上。解决方案替代方案——当一台新的工人机器启动时,它也会从你的git-repo中拉metrics.properties,并把它放在预先知道的路径上。虽然它可能有效,但它非常复杂,一个首选的解决方案是让Spark在内部支持它。

共有2个答案

干亮
2023-03-14

SparkConf仅加载本地系统属性,如果它们以前缀火花开头。,你有托盘来加载你的属性添加火花吗?

包承望
2023-03-14

请参阅Wordcount示例中的Spark指标。基本上,我认为您需要添加--files才能将metrics.properties发送给所有工作人员。

 类似资料:
  • 我有Kafka主题,有多种类型的消息流入并使用Kafka Connect写入弹性搜索。流看起来不错,直到我不得不将唯一的消息集分离到唯一的索引中。也就是说,我必须根据字段(JSON消息)为新的数据集获取新的索引。 我如何配置/定制Kafka connect以实现同样的功能?每个消息都包含一个表示消息类型和时间戳的字段。 示例 Json 如下所示: Sample1: {“log”:{“data”:“

  • 如何将Spark Streaming指标汇到执行者的StatsD汇? 类似于其他报告的问题(未找到接收器类,接收器类在执行器中),我可以获得驱动程序指标,但执行器在我的设置中抛出< code > ClassNotFoundException : > < li>StatsD sink类是用我的Spark-Streaming应用程序(< code>my.jar)编译的 < li> 运行时使用: (将包

  • MOSN 自定义配置说明。 本文是对 MOSN 自定义配置的说明。 Duration String 字符串,由一个十进制数字和一个时间单位后缀组成,有效的时间单位为 ns、us(或?s)、ms、s、m、h,例如 1h、3s、500ms。 metadata metadata 用于 MOSN 路由和 Cluster Host 之间的匹配。 { "filter_metadata":{ "mo

  • 如果你想自定义 Next.js 的高级配置,可以在根目录下新建next.config.js文件(与pages/ 和 package.json一起) 注意:next.config.js是一个 Node.js 模块,不是一个 JSON 文件,可以用于 Next 启动服务已经构建阶段,但是不作用于浏览器端。 // next.config.js module.exports = { /* config

  • 我正在使用mvn依赖项google-cloud d-dataflow-java-sdk-all版本2.1.0,我正在尝试为我的管道添加一个自定义Sink。 在管道中,我正在检索Pubsub消息,并最终将这些消息转换为PCollection of Strings。 这是我设置的管道的简化版本: 我需要自定义Sink的原因是因为团队中的其他人已经编写了将这些数据写入BigQuery的代码,并为此提供了

  • 使用@value(${fanout.exchange})注释在使用带有Github Repo的spring-cloud-config服务器时初始化失败。我得到: 这两个类的pom.xml上都有spring-cloud-config。configServer使用@EnableConfigServer进行注释。我在github repo中的文件名为datacollector.properties Ra