云服务器内容精选

  • 在CCE上运行SparkPi例子 在执行Spark的机器上安装kubectl,详情请参见通过kubectl连接集群。 kubectl安装成功后,执行如下命令授予集群权限。 # 创建服务账号 kubectl create serviceaccount spark # 将集群角色spark-role和上一步创建服务账号绑定,并指定default命名空间授予edit的clusterrole权限 kubectl create clusterrolebinding spark-role --clusterrole=edit --serviceaccount=default:spark --namespace=default 以提交Spark-Pi的作业到CCE为例: spark-submit \ --master k8s://https://**.**.**.**:5443 \ --deploy-mode cluster \ --name spark-pi \ --class org.apache.spark.examples.SparkPi \ --conf spark.executor.instances=2 \ --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \ --conf spark.kubernetes.container.image=swr.cn-east-3.myhuaweicloud.com/dev-container/spark:3.1.3-obs \ local:///root/spark-obs/examples/jars/spark-examples_2.12-3.1.1.jar 配置说明: --master:集群的API Server,其中https://**.**.**.**:5443为 ~/.kube/config中使用的master地址,可通过kubectl cluster-info获取。 --deploy-mode: cluster:在集群的工作节点上部署驱动程序。 client:(默认值)作为外部客户端在本地部署驱动程序。 --name:作业名称,集群中的Pod将以此开头。 --class:应用程序,例如org.apache.spark.examples.SparkPi。 --conf:Spark配置参数,使用键值格式。值得一提的是,所有能使用--conf指定的参数均会默认从文件~/spark-obs/conf/spark-defaults.conf中读取,所以通用配置可以如配置Spark对接OBS一样,直接写入作为默认值。 spark.executor.instances:执行程序的Pod数量。 spark.kubernetes.authenticate.driver.serviceAccountName:驱动程序的集群权限,选择2中创建的serviceaccount。 spark.kubernetes.container.image:预置镜像到SWR步骤中上传至SWR的镜像地址。 local:使用本地的jar包路径。本例中使用本地文件存放jar包,因此使用local类型。根据实际情况,该参数可采用多种类型(file/http/local等),详情请参见官方文档。
  • 访问对象存储服务OBS 使用spark-submit下发hdfs任务。请修改命令最后的参数为租户内实际的文件obs://bucket-name/filename。 spark-submit \ --master k8s://https://**.**.**.**:5443 \ --deploy-mode cluster \ --name spark-hdfs-test \ --class org.apache.spark.examples.HdfsTest \ --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \ --conf spark.kubernetes.container.image=swr.cn-east-3.myhuaweicloud.com/dev-container/spark:3.1.3-obs \ local:///root/spark-obs/examples/jars/spark-examples_2.12-3.1.1.jar obs://bucket-name/filename