我正在尝试将 postgresql db 设置为 AWS EMR 的外部 Hive 元存储。我已经尝试在 EC2 和 RDS 上托管它。
我已经尝试过这里给出的步骤。
但它没有通过,EMR 在配置步骤中失败,只有消息
在主实例 (instance-id) 上,应用程序配置失败
我无法从故障日志中破译任何内容。
我还在路径中复制了 postgresql jdbc jar
/usr/lib/hive/lib/ 和 /usr/lib/hive/jdbc/ 以防 EMR 还没有它,但仍然没有帮助!
然后我通过手动编辑hive-site.xml
和设置属性来设置系统:
javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionUserName
javax.jdo.option.ConnectionPassword
datanucleus.fixedDatastore
datanucleus.schema.autoCreateTables
并且不得不跑hive --service metatool -listFSRoot
。
在这些手动设置之后,我能够让 EMR 使用 postgres db 作为远程元存储。
有什么方法可以使用官方文档中提到的配置文件使其工作?
编辑:我用于远程 mysql 元存储的配置设置:
分类=hive-site,properties=[javax.jdo.option.ConnectionURL=jdbc:mysql://[host]:3306/[dbname]?createDatabaseIfNotExist=true,javax.jdo.option.ConnectionDriverName=org.mariadb.jdbc .Driver,javax.jdo.option.ConnectionUserName=[用户],javax.jdo.option.ConnectionPassword=[pass]]