我希望通过命令行访问我的Spark应用程序生成的实时日志,当我将SSH连接到主节点(托管Spark驱动程序的计算机)时。我可以使用gcloud dataproc jobs wait
,Dataproc网络用户界面和GCS来查看它们,但我希望能够通过命令行访问实时日志,因此我可以通过它登录grep
等。Google Dataproc商店Spark在磁盘上登录?
我在哪里可以找到Spark在驱动程序上生成的日志(以及执行程序呢!)?
我希望通过命令行访问我的Spark应用程序生成的实时日志,当我将SSH连接到主节点(托管Spark驱动程序的计算机)时。我可以使用gcloud dataproc jobs wait
,Dataproc网络用户界面和GCS来查看它们,但我希望能够通过命令行访问实时日志,因此我可以通过它登录grep
等。Google Dataproc商店Spark在磁盘上登录?
我在哪里可以找到Spark在驱动程序上生成的日志(以及执行程序呢!)?
目前Dataproc实际上并没有将驱动程序输出的任何副本拷贝到本地磁盘,而只是将它放在GCS中,部分原因是它不太适合标准的日志轮转策略或YARN任务日志清理,因此它需要额外的定义来说明如何在本地磁盘上执行这些输出文件的垃圾回收,否则就会在长寿命的群集上缓慢地耗尽磁盘空间。
也就是说,这样的删除策略当然是可以克服的,所以我会继续添加这个作为功能请求,以便将驱动程序输出到GCS和本地磁盘文件以更好地使用。甚至你可以gcloud dataproc jobs wait <jobid> | grep foo
gsutil cat
在集群上
gcloud dataproc clusters create --scopes cloud-platform
)当启用cloud-platform
范围,然后,: 但是在此期间,你有几个选项如果您可以从其他位置首先找到gcloud dataproc jobs describe
以查找driverOutputResourceUri
字段,则这指向GCS前缀(自从您提到在GCS中发现它们以来,您可能已经找到了它)。由于输出部分用填充数字前缀命名,因此gsutil cat gs://bucket/google-cloud-dataproc-metainfo/cluster-uuid/jobs/jobid/driveroutput*
将以正确的顺序输出作业输出,然后您可以将其输入任何您需要的内容。