Apache spark 火花容器内的钻头

Apache spark 火花容器内的钻头,apache-spark,kubernetes,splunk,fluentd,fluent-bit,Apache Spark,Kubernetes,Splunk,Fluentd,Fluent Bit,我试图在spark容器内运行fluent bit,以便spark驱动程序容器可以读取或使用fluent bit属性控制的spark驱动程序容器将日志写入文件/var/log/sparkDriver.log。我知道在一个容器中运行多个进程是一种反合作伙伴关系,但现在我别无选择。我需要什么配置来读取此文件(/var/log/sparkDriver.log),并将日志转发到我们的内部splunk hec服务器 我知道fluent bit可以用作吊舱中的sidecar,但我使用simplespark s

我试图在
spark
容器内运行
fluent bit
,以便
spark驱动程序容器
可以读取或使用
fluent bit
属性控制的
spark驱动程序容器
将日志写入文件
/var/log/sparkDriver.log
。我知道在一个容器中运行多个进程是一种反合作伙伴关系,但现在我别无选择。我需要什么配置来读取此文件(
/var/log/sparkDriver.log
),并将日志转发到我们的内部
splunk hec
服务器

我知道
fluent bit
可以用作吊舱中的
sidecar
,但我使用simple
spark submit
将我的spark作业提交给
K8S
,而
spark submit
无法告诉
K8S
我也想运行sidecar(fluent bit)

我还知道
fluent bit
可以作为deamonSet安装在集群中,它基本上会在
k8s
集群中的每个节点上运行,并通过节点将日志从容器转发到
Splunk
。但这个选择对我也不起作用

所以我想如果我能烘焙
fluent bit
splunkforwarder
甚至
fluentd
并从文件或stdout读取日志。我知道其他两个选项将使我的
spark
docker图像膨胀,但我现在没有选项

任何帮助或建议都将不胜感激

实际上,我尝试了
tail
splunk
,但不知何故,我无法找到
fluent位的正确配置

这是我的日志文件,它是使用
log4j
记录的
spark

我真的试过了,但不知怎么的,我不能把正确的配置围绕它。以下是我的日志文件的外观:

20/03/02 19:35:47 INFO TaskSetManager: Starting task 12526.0 in stage 0.0 (TID 12526, 172.16.7.233, executor 1, partition 12526, PROCESS_LOCAL, 7885 bytes)
20/03/02 19:35:47 DEBUG KubernetesClusterSchedulerBackend$KubernetesDriverEndpoint: Launching task 12526 on executor id: 1 hostname: 172.16.7.233.
20/03/02 19:35:47 INFO TaskSetManager: Finished task 12524.0 in stage 0.0 (TID 12524) in 1 ms on 172.16.7.233 (executor 1) (12525/1000000)
20/03/02 19:35:47 TRACE MessageDecoder: Received message OneWayMessage: OneWayMessage{body=NettyManagedBuffer{buf=CompositeByteBuf(ridx: 5, widx: 1622, cap: 1622, components=2)}}
20/03/02 19:35:47 TRACE MessageDecoder: Received message OneWayMessage: OneWayMessage{body=NettyManagedBuffer{buf=PooledUnsafeDirectByteBuf(ridx: 13, widx: 1630, cap: 32768)}}
20/03/02 19:35:47 TRACE MessageDecoder: Received message OneWayMessage: OneWayMessage{body=NettyManagedBuffer{buf=PooledUnsafeDirectByteBuf(ridx: 13, widx: 2414, cap: 4096)}}
这是我的
fluent位
配置:

[INPUT]
    Name  tail
    Path  /var/log/sparklog.log

# nest the record under the 'event' key
[FILTER]
    Name nest
    Match *
    Operation nest
    Wildcard *
    Nest_under event

# add event metadata
[FILTER]
    Name      modify
    Match     *
    Add index myindex
    Add host  ${HOSTNAME}
    Add app_name ${APP_NAME}
    Add namespace ${NAMESPACE}

[OUTPUT]
    Name        Splunk
    Match       *
    Host        splunk.example.com
    Port        30000
    Splunk_Token XXXX-XXXX-XXXX-XXXX
    Splunk_Send_Raw On
    TLS         On
    TLS.Verify  Off
Tail和splunk插件应该可以帮你解决这个问题

在配置这两个插件时,您是否面临任何具体问题?

Tail和splunk插件应该可以帮您解决问题


您在配置这两个方面是否面临任何具体问题?

好奇为什么Deamoset不适合您?好奇为什么Deamoset不适合您?