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
,但我使用simplespark 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不适合您?