Azure Databricks统一控制平面(UC)搭建指南
Azure Databricks统一控制平面(UC)搭建指南
本文属于【Azure 架构师学习笔记】系列,主要介绍Azure Databricks中统一控制平面(UC)的搭建过程。由于Azure Databricks的更新速度很快,在几个月之后重新搭建时发现UC已经更新了很多功能。为了后续进行功能测试时能有一个更准确的环境,本文将从新搭建一次基于目前最新版本的UC环境。
启用UC
当有了一个Azure Databricks(ADB)实例后,可以按照以下步骤搭建UC环境:
Step 1:创建Storage Account(SA)
这里的SA是Databricks内部使用的,用于存储UC metadata和managed tables。如果是Azure的storage account,注意一定要为ADLS Gen2,即启用了“Hierarchical namespace”。
Step 2:创建Access Connector for Databricks
UC访问外部资源需要借助某些“工具”,访问ADLS则需要Access Connector。在创建过程中需要保存资源ID,在后面需要使用。
可以选择system assigned MI(系统分配的托管标识)或者user assigned MI(用户分配的托管标识)。如果所在企业没有明文规定,并且不考虑被多个ADB共用,那么建议使用System MI,比较省事。使用User MI更多可以考虑多个ADB共用权限。
记下这个ID:
Step 3:配置Connector在Storage Account和container上的权限
这里的权限主要是RBAC,最少需要“Storage Blob Data Contributor”角色。而授权的对象则是Step 2中的connector(Managed Identity)。
Step 4:创建metastore
进去ADB之后,从下图中跳到管理界面,这个地方需要你有account admin权限。
你也可以添加其他账号协助管理:
从catalog中进去管理UC,如果首次创建则需要先创建MetaStore。
创建MetaStore:
按照提示和前面创建的资源配置,注意ADLS Gen2 path中的格式:
如果创建过程中报下面的错误,则意味着权限还不够:
Could not access location
This path doesn’t exist or we couldn’t access it with the credential provided. Metastores require a directory path.
这个时候到ADLS的path中,添加如下的ACL。再次回到MetaStore即可创建:
Step 5:把Workspace与MetaStore关联
在创建好MetaStore之后,下一步就是assign catalog到workspace中。选中并点击assign即可。
配置完成:
检查UC
回到ADB workspace,然后点击catalog,可以从下图中看到这个workspace已经与MetaStore关联成功也就是由UC控制。
检查集群状态,可以看到下面也有了UC的标记。证明集群也已经收到了UC的控制。
如果对比集群类型,可以看到已经启用了UC和未启用UC的不同,下面这个图是启用了UC之后可以选择的policy类型。
下面这个图是未启用UC的集群policy:
小结
其实搭建UC并不是主要目的,最近因为需要使用“Medallion Architecture”,所以搭建一个环境来做后续的尝试。