gpt4 book ai didi

google-cloud-dataproc - 在 Dataproc 集群节点上设置环境变量

转载 作者:行者123 更新时间:2023-12-04 00:57:34 31 4
gpt4 key购买 nike

我希望在我的 dataproc 集群的每个节点上设置一个环境变量,以便它可用于将在该集群上运行的 pyspark 作业。做这个的最好方式是什么?

我想知道是否有办法使用 Compute Engine 元数据来做到这一点(尽管到目前为止我的研究表明 Compute Engine 元数据可通过 Compute Engine 实例上的元数据服务器获得,而不是通过环境变量获得)。

除此之外,我想不出除了发出 export 之外的其他方法。 dataproc 初始化脚本中的命令。

任何人都可以建议任何其他选择吗?

最佳答案

操作系统级别
Dataproc 对适用于所有进程的操作系统级自定义环境变量没有一流的支持,但您可以通过 init actions 实现它。通过将您的环境变量添加到 /etc/environment .您可能需要在 init 操作中重新启动服务。
Hadoop 和 Spark 服务
对于 Hadoop 和 Spark 服务,您可以使用 hadoop-env 设置属性或 spark-env创建集群时的前缀,例如:

gcloud dataproc clusters create
--properties hadoop-env:FOO=hello,spark-env:BAR=world
...
看到这个 doc更多细节。
星火工作
Spark 允许在作业级别设置环境变量。对于 执行人 ,您可以随时使用 spark.executorEnv.[Name]设置环境变量,但用于 司机 根据您是在集群模式还是客户端模式下运行作业而有所不同。
客户端模式(默认)
在客户端模式下,创建集群时需要在 spark-env.sh 中设置驱动程序环境变量。您可以使用 --properties spark-env:[NAME]=[VALUE]如上所述。
Executor 环境变量可以在提交作业时设置,例如:
gcloud dataproc jobs submit spark \
--properties spark.executorEnv.BAR=world
...
或者
spark-submit --conf spark.executorEnv.BAR=world ...
集群模式
在集群模式下,可以使用 spark.yarn.appMasterEnv.[NAME] 设置驱动程序环境变量, 例如:
gcloud dataproc jobs submit spark \
--properties spark.submit.deployMode=cluster,spark.yarn.appMasterEnv.FOO=hello,spark.executorEnv.BAR=world
...
或者
spark-submit \
--deploy-mode cluster
--conf spark.yarn.appMasterEnv.FOO=hello \
--conf spark.executorEnv.BAR=world \
...
看到这个 doc更多细节。

关于google-cloud-dataproc - 在 Dataproc 集群节点上设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61207679/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com