你当前正在访问 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 模块,用于使用 PowerShell 管理 Azure 资源管理器 (ARM) 资源。

语法

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