自己在虛擬機上搭建了一個kubernetes測試集羣,通過Spark官方文檔,提交一個測試任務到kubernetes集羣上執行,記錄一下:
1. 提交命令:
cluster模式:
$ bin/spark-submit \
--master k8s://https://ip:port \
--deploy-mode cluster \
--name spark-pi \
--class org.apache.spark.examples.SparkPi \
--conf spark.executor.instances=5 \
--conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
--conf spark.kubernetes.container.image.pullPolicy=Always \
--conf spark.kubernetes.container.image=merrily01/repo:spark-2.4.3-image-merrily01 \
local:///opt/spark/examples/jars/spark-examples_2.11-2.4.3.jar
client模式:
spark-submit \
--master k8s://https://172.16.192.128:6443 \
--deploy-mode client \
--name spark-pi \
--class org.apache.spark.examples.SparkPi \
--conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
--conf spark.kubernetes.container.image.pullPolicy=Always \
--conf spark.kubernetes.container.image=merrily01/repo:spark-2.4.3-image-merrily01 \
/data0/spark/spark-2.4.3-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.3.jar
2. 如果不知道--master 的api server地址,可通過命令:kubectl config view 查看;
3. 注意cluster方式,example.jar包位置: local:///opt/spark/examples/jars/spark-examples_2.11-2.4.3.jar