hadoop - 共享的外部配置单元元存储如何取决于特定版本的HDInsight(Hadoop)集群?

标签 hadoop hive azure-hdinsight

可以说,我们有一个外部Hive Metastore,然后有一堆Hadoop(HDInsight)集群,我们将在需要处理时删除它们并创建它们,这些集群都使用此共享的Hive Metastore。在某个阶段,我们将在更新版本可用时开始使用更新版本的HDInsight创建这些群集。现在,假设在此期间外部Metastore保持固定(将不会重新创建),那么它会为HDInsight的 future 版本造成问题吗?还是每次我们开始使用新版本的HDInsight时,也必须将外部Metastore迁移到新版本吗? Hive Metastore和HDInsight群集之间的关系如何发挥作用?

通过Hive Metastore的“版本”,我的意思是-在某个时间点上,特定的外部Hive Metastore不存在,然后将创建第一个HDInsight(Hadoop)群集,并已指定空的SQL Server数据库实例在集群创建期间。作为集群创建的一部分,托管Hive Metastore的数据库将被Hive元数据填充。因此,这就是我所说的Metastore的“版本”-可能它的版本与与要创建的特定HDInsight群集版本相关联的Hive组件的版本相同。

最佳答案

注意:针对现有的自定义metastore数据库创建新的更高版本的Azure HDInsight时,系统将升级metastore的架构,这是不可逆的,而无需从备份还原数据库。

如果您在多个群集之间共享一个元存储,请确保所有群集都是相同的HDInsight版本。不同的Hive版本使用不同的metastore数据库架构。例如,您不能在Hive 2.1和Hive 3.1版本的群集之间共享元存储。

有关更多详细信息,请参见“Hive metastore best practices”。

希望这可以帮助。

关于hadoop - 共享的外部配置单元元存储如何取决于特定版本的HDInsight(Hadoop)集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58577272/

相关文章:

hadoop - Hadoop:排序和混排

java - 如何使用hadoop api在vm上运行的hadoop机器上创建目录

json - 从 spark 中保存压缩的 json

java - Mapreduce 程序的输入数据

hadoop - 在 MRJob 中连接 HIVE

java - regexp_replace 异常

azure - HDInsight 与 Azure 上的虚拟化 Hadoop 集群

powershell - 使用 Datalakestore 连接的证书执行 HDInsight 命令期间出现错误 powershell

sql - 在 HIVE APACHE 中将天数减去某个日期

c# - 如何以编程方式将数据加载到 HDFS(本地 HDInsight)?