一般我們在運行spark任務時,需要查看他的運行情況。
比較常用的方式就是在spark的UI界面上查看。
一般的spark 因爲driver所在的node是固定的,ip也就是固定的,所以能夠通過ip或者域名映射後即可很方便的進行訪問。
spark on k8s比較特別的是 driver是一個在k8s集羣中臨時啓動的pod,它一般沒有外部ip,只有k8s的內部ip,同時這個內部ip 每次driver啓動後 可能是不一樣的。
本篇文章記錄 如下訪問spark on k8s的 web UI查看任務運行情況。
啓動一個client pod,運行spark shell作爲driver
使用命令如下:
vi spark-client-test.yaml
輸入內容如下:
apiVersion: v1
kind: Pod
metadata:
name: spark-client-test
labels:
name: spark-client-test
spec:
hostname: spark-client-test
containers:
- name: spark-client-test
image: 123.dkr.ecr.cn-northwest-1.amazonaws.com.cn/spark-client:2.4.4
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 100m
memory: 512Mi
command: ["/bin/sh","-c"]
args: ['ls /spark;date;sleep 10m;date']
---
apiVersion: v1
kind: Service
metadata:
name: spark-client-test
spec:
clu