繁体   English   中英

将在 k8s 中运行的 Spark 驱动程序日志发送到 Splunk

[英]Send spark driver logs running in k8s to Splunk

我正在尝试按照此处提到的步骤在 kubernetes 中运行示例 spark 作业:https ://spark.apache.org/docs/latest/running-on-kubernetes.html。

我正在尝试将 Spark 驱动程序和执行程序日志发送到 Splunk。 spark 是否提供任何配置来做同样的事情? 如何在 spark-submit 命令中发送 Splunk 配置,如 HEC 端点、端口、令牌等?

我确实尝试将它作为参数传递给火花驱动程序

bin/spark-submit
  --deploy-mode cluster
  --class org.apache.spark.examples.JavaSparkPi
  --master k8s://http://127.0.0.1:8001
  --conf spark.executor.instances=2
  --conf spark.app.name=spark-pi
  --conf spark.kubernetes.container.image=gcr.io/spark-operator/spark:v2.4.4
  --conf spark.kubernetes.authenticate.driver.serviceAccountName=<account>
  --conf spark.kubernetes.docker.image.pullPolicy=Always
  --conf spark.kubernetes.namespace=default
  local:///opt/spark/examples/jars/spark-examples_2.11-2.4.4.jar
  --log-driver=splunk
  --log-opt splunk-url=<url:port>
  -—log-opt splunk-token=<token>
  --log-opt splunk-index=<index>
  --log-opt splunk-sourcetype=<sourceType>
  --log-opt splunk-format=json

但日志没有转发到所需的索引。

我正在使用 spark 版本 2.4.4 来运行 spark-submit。

在此先感谢您的任何输入!!

嗨,欢迎来到 Stackoverflow。

我在网上搜索了一段时间,试图找到与您的Spark + Splunk用法类似的问题案例。 我设法意识到的是,您可能正在混合几件事。 参考有关Splunk 日志驱动程序的 Docker 文档,您似乎尝试使用 `spark-submit 重现相同的步骤。 不幸的是,它对您不起作用。

基本上,在脚本中local:///opt/spark/examples/jars/spark-examples_2.11-2.4.4.jar ...之后的所有配置选项都是org.apache.spark.examples.JavaSparkPi#main的程序参数org.apache.spark.examples.JavaSparkPi#main方法,它(除非您自定义它)只是忽略它们。

您需要做的是将您的 Kubrnetes 集群连接到 Splunk API。 其中一种方法是将Splunk 连接器安装到您的 Kubernetes 集群。 根据您的环境细节,可以有其他方法来做到这一点,但阅读文档是一个很好的起点。

希望它能指引你走上正确的道路。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM