繁体   English   中英

EMR的外部配置单元metastore

[英]External hive metastore for EMR

我正在使用默认配置单元元存储创建一个EMR集群,之后我用一些属性覆盖了hive-site.xml,这些属性将aws rds实例指向配置单元存储,一切都很好,但是在重新启动配置单元服务器之后,我无法将RDS用作配置单元metastore。 它仍然在EMR创建的默认配置单元元存储中使用。

创建集群时,可以通过为应用程序提供配置对象来覆盖应用程序的默认配置。 该配置对象被引用为JSON文件。 配置对象由分类,属性和可选的嵌套配置组成。 属性是您要在该文件中更改的设置。 您可以在单个JSON对象中为多个应用程序指定多个分类。

为了使用外部mysql metastore信息覆盖hive-site.xml,请创建一个名为hiveConfiguration.json的配置文件,其中包含对hive-site.xml的编辑:

[
    {
      "Classification": "hive-site",
      "Properties": {
        "javax.jdo.option.ConnectionURL": "jdbc:mysql:\/\/hostname:3306\/hive?createDatabaseIfNotExist=true",
        "javax.jdo.option.ConnectionDriverName": "org.mariadb.jdbc.Driver",
        "javax.jdo.option.ConnectionUserName": "username",
        "javax.jdo.option.ConnectionPassword": "password"
      }
    }
]

将hiveConfiguration.json与以下AWS CLI命令一起使用以创建集群:

aws emr create-cluster --release-label emr-5.11.0 --instance-type m3.xlarge --instance-count 2 \
--applications Name=Hive --configurations ./hiveConfiguration.json --use-default-roles

参考:

https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-external.html

为什么要重新启动Hive-server2? 如果要更改hive.metastore。*等属性,则需要重新启动Hive Metastore守护程序,该守护程序在EMR上是Hcatalog的一部分。 实际上,您可能甚至不需要重新启动任何操作即可仅更新元存储数据库。 您可以只运行离线schematool -initSchema指向新的数据库。 参见https://cwiki.apache.org/confluence/display/Hive/Hive+Schema+Tool

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM