你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Add-AzureHDInsightMetastore
将 SQL Server 数据库帐户添加到 HDInsight 群集配置。
注意
本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧式 Azure 资源。 创建新资源时,建议不要使用旧的 PowerShell 模块,因为计划将停用 ASM。 有关详细信息,请参阅 Azure Service Manager 停用。
Az PowerShell 模块是建议用于管理 PowerShell 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。
语法
Add-AzureHDInsightMetastore
-Config <AzureHDInsightConfig>
-Credential <PSCredential>
-DatabaseName <String>
-MetastoreType <AzureHDInsightMetastoreType>
-SqlAzureServerName <String>
[-Profile <AzureSMProfile>]
[<CommonParameters>]
说明
此版本的 Azure PowerShell HDInsight 已弃用。 这些 cmdlet 将于 2017 年 1 月 1 日删除。 请使用较新版本的 Azure PowerShell HDInsight。
有关如何使用新的 HDInsight 创建群集的信息,请参阅 使用 Azure PowerShell 在 HDInsight 中创建基于 Linux 的群集(https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-create-linux-clusters-azure-powershell/)。 有关如何使用 Azure PowerShell 和其他方法提交作业的信息,请参阅 HDInsight 中的提交 Hadoop 作业(https://azure.microsoft.com/en-us/documentation/articles/hdinsight-submit-hadoop-jobs-programmatically/)。 有关 Azure PowerShell HDInsight 的参考信息,请参阅 Azure HDInsight Cmdlet。
Add-AzureHDInsightMetastore cmdlet 将Microsoft SQL Server 数据库添加到由 New-AzureHDInsightClusterConfig cmdlet 创建的 Azure HDInsight 配置。 数据库用于存储 Hive 或 Oozie 的元数据,或同时存储这两者。
示例
示例 1:添加元存储
PS C:\>$Metaconfig = Add-AzureHDInsightMetastore -Config $Config -SqlAzureServerName "ContosoSQLServer" -DatabaseName "DBname" -Credential (Get-Credential) -MetastoreType HiveMetaStore
此命令添加一个名为 ContosoSQLServer 的 SQL Server 数据库,用作 HDInsight 群集的 Hive 元存储。
示例 2:配置存储和添加元存储
PS C:\>$SubId = (Get-AzureSubscription -Current).SubscriptionId
PS C:\> $Key1 = Get-AzureStorageKey -StorageAccountName "MyBlobStorage" | %{ $_.Primary }
PS C:\> $Key2 = Get-AzureStorageKey -StorageAccountName "MySecondBlobStorage" | %{ $_.Primary }
PS C:\> $Creds = Get-Credential
PS C:\> $OozieCreds = Get-Credential
PS C:\> $HiveCreds = Get-Credential
PS C:\> New-AzureHDInsightClusterConfig -ClusterSizeInNodes 4
| Set-AzureHDInsightDefaultStorage -StorageAccountName "MyBlobStorage.blob.core.windows.net" -StorageAccountKey $Key1 -StorageContainerName "MyContainer"
| Add-AzureHDInsightStorage -StorageAccountName "MySecondBlobStorage.blob.core.windows.net" -StorageAccountKey $Key2
| Add-AzureHDInsightMetastore -SqlAzureServerName "MySqlServer.database.windows.net" -DatabaseName "MyOozieDatabaseName" -Credential $OozieCreds -MetastoreType OozieMetastore
| Add-AzureHDInsightMetastore -SqlAzureServerName "MySqlServer.database.widows.net" -DatabaseName "MyHiveDatabaseName" -Credential $HiveCreds -MetastoreType HiveMetastore
| New-AzureHDInsightCluster -Subscription $SubId -Credential $Creds
第一个命令使用 Get-AzureSubscription cmdlet 获取当前订阅 ID,然后将其存储在$SubId变量中。
第二个和第三个命令使用 Get-AzureStorageKey cmdlet 获取 MyBlobStorage 和 MySecondBlobStorage 的主存储密钥,然后将密钥分别存储在 $Key 1 和 $Key 2 变量中。
第四个、第五个和第六个命令使用 Get-Credential cmdlet 获取当前订阅和 Oozie 和 Hive 的凭据,然后将凭据存储在变量中。
最后一个命令使用以下 cmdlet 执行一系列操作:
- New-AzureHDInsightClusterConfig 用于创建 HDInsight 群集配置。
- Set-AzureHDInsightDefaultStorage 将配置的默认存储帐户设置为 MyBlobStorage.blob.core.windows.net。
- Add-AzureHDInsightStorage 将名为 MySecondBlobStorage.blob.core.windows.net 的第二个存储帐户添加到配置。
- Add-AzureHDInsightMetastore ,用于将 Oozie 的元存储和 Hive 的元存储添加到配置中。
- New-AzureHDInsightCluster ,用于使用新配置创建 HDInsight 群集。
参数
-Config
指定配置对象。 此 cmdlet 将元存储信息添加到此参数指定的配置对象。
类型: | AzureHDInsightConfig |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Credential
指定用于访问 SQL Server 数据库的凭据。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-DatabaseName
指定要存储 Hive 或 Oozie 元数据的数据库的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-MetastoreType
指定元存储类型。 此参数的可接受值为:HiveMetaStore 或 OozieMetaStore。
类型: | AzureHDInsightMetastoreType |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Profile
指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。
类型: | AzureSMProfile |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SqlAzureServerName
指定要存储元数据的数据库的 SQL Server 的完全限定域名(FQDN)。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |