你当前正在访问 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