Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在Kubernetes中公开Spark Worker(stdout-stderr)日志_Apache Spark_Kubernetes - Fatal编程技术网

Apache spark 在Kubernetes中公开Spark Worker(stdout-stderr)日志

Apache spark 在Kubernetes中公开Spark Worker(stdout-stderr)日志,apache-spark,kubernetes,Apache Spark,Kubernetes,我有一个Spark集群,在一个3节点的Kubernetes集群中运行一个主集群和4个工作集群。 Spark UI和Master通过入口/节点端口公开,因此可以从Kubernetes集群外部访问 但是,工作端口不暴露。 因此,无法通过UI访问工作日志(stdout和stderr)。 日志URL被重定向到,等等 我的设置是在同一台机器上运行两个工作机吊舱。因此,即使我NodePort暴露了工作进程,端口也会发生冲突,因为将为机器上的两个工作进程分配相同的端口。 Spark History serve

我有一个Spark集群,在一个3节点的Kubernetes集群中运行一个主集群和4个工作集群。 Spark UI和Master通过入口/节点端口公开,因此可以从Kubernetes集群外部访问

但是,工作端口不暴露。 因此,无法通过UI访问工作日志(stdout和stderr)。 日志URL被重定向到
等等

我的设置是在同一台机器上运行两个工作机吊舱。因此,即使我NodePort暴露了工作进程,端口也会发生冲突,因为将为机器上的两个工作进程分配相同的端口。 Spark History server仅提供事件日志,不提供工作日志


如何解决这个问题?有没有一种方法可以动态地为WORKER分配NodePort值

我相信您所说的是
SPARK\u WORKER\u WEBUI\u端口
,而不是下面描述的
SPARK\u WORKER\u端口
,因为它分配了一个随机端口

这有点棘手,因为每个节点只能公开一个端口。如果每个节点有两个spark WORKER,则可以为节点创建两个部署,一个在
8081
上公开
spark\u WORKER\u WEBUI\u端口,另一个在
8082
上公开,还可以确保每个节点只调度一个pod


您可以在

中传递这些值,我知道这一点。但我们的要求限制了我们每台机器只能有一名工人。这就是问题所在。谢谢。但这并不是我们想要的for@RamKrishnan-同意-最大的好处是在一个节点上挤压许多工人。你找到解决这个问题的方法了吗?你是在库伯内特斯上运行spark的吗?有了他们的内置操作员?你能找到一种方法将stdout、stderr公开给历史服务器吗?