我試圖運行一個集群級通過Pulumi init腳本。我提到這個文檔
https://learn.microsoft.com/en-us/azure/databricks/clusters/configure spark-configuration
然而,看起來像文檔不是很清楚。
我有一個名為init腳本set-private-pip-repositories-relay-feed-init-script.sh下麵的內容。
# !/bin/bash如果(- n DEVOPS_GIT_PAT美元);然後使用美元DEVOPS_GIT_PAT別的回聲”帕特無法獲取令牌”fi printf(全球)\ n > /etc/pip.conf printf“extra-index-url = " > > /etc/pip.參看printf“https:// DEVOPS_GIT_PAT@artificat_url美元/ pypi /簡單/ \ n”> > /etc/pip.參看回聲“腳本執行”
我試圖添加集群配置的init腳本Pulumi如下
init_scripts = [db。ClusterInitScriptArgs(文件= db。ClusterInitScriptFileArgs(目的地= " /文件/ set-private-pip-repositories-relay-feed-init-script。sh”)),
我應該保持磚秘密的範圍在哪裏?在spark_env_vars = {“DEVOPS_GIT_PAT”:“”{{秘密/ azureScope / devopsGitPat}}} ?
隻有幾個點是在這個問題上所提到的,所以期待得到別人的建議
@Sulfikkar Basheer Shylaja:
它看起來像你想使用一個init腳本定製集裝箱碼頭工人磚集群。然而,ClusterInitScriptFileArgs方法隻是用於文件的init腳本,可以在執行數據磚集群沒有定製集裝箱碼頭工人。
如果你的磚集群的一個定製的碼頭工人容器,您需要使用
ClusterInitScript方法相反。你可以通過一個命令列表腳本文件或路徑ClusterInitScript命令參數的方法。
這裏有一個例子如何使用ClusterInitScript方法與一個定製的碼頭工人容器:
init_scripts = [db。ClusterInitScriptArgs(腳本= db。ClusterInitScript(命令= [“bash”、“/道路/ /你/腳本。sh”、“——param1 = value1”、“集群param2 = value2 ")))) = db。集群(“示例集群”,#……其他參數…init_scripts = init_scripts custom_tags = custom_tags)
確保替換/道路/ /你/script.sh與實際路徑init腳本,並提供任何必要的參數或環境變量
命令參數。
關於秘密的範圍,您可以通過DEVOPS_GIT_PAT作為一個環境變量的值使用spark_env_vars init腳本參數:
spark_env_vars = {" DEVOPS_GIT_PAT”: db.Secret (“azureScope / devopsGitPat”)}集群= db。集群(“示例集群”,#……其他參數…init_scripts = init_scripts spark_env_vars = spark_env_vars)
在這個例子中,azureScope / devopsGitPat磚秘密範圍的名稱包含DEVOPS_GIT_PAT秘密。
@Sulfikkar Basheer Shylaja:
是的,你可以使用ClusterInitScript磚集群上,不使用一個碼頭工人的形象。ClusterInitScript允許您運行一個腳本的節點集群上啟動時,可以用來配置集群。
使用ClusterInitScript,可以遵循以下步驟:
當你開始或重新啟動集群時,初始化腳本將運行在集群中的每個節點。每個節點的日誌,您可以檢查,以確保腳本執行成功。
注意,ClusterInitScript特性隻能在磚使用VPC創建的網絡配置的集群。如果沒有您的集群配置為使用VPC,您將需要創建一個自定義圖像的初始化腳本烤和用它來啟動您的集群。