【发布时间】:2015-12-28 19:57:43
【问题描述】:
我正在尝试以嵌入式模式在 Apache Drill 1.4 上进行试验,并尝试连接到在 EMR 上运行的 Hive - Drill 正在 EMR 之外的服务器上运行。
我有一些基本问题需要澄清,还有一些配置问题需要解决。
这是我目前所拥有的 -
运行 AWS EMR 集群。 运行 Drill 嵌入式服务器。
根据有关为 Hive 配置存储插件的文档 https://drill.apache.org/docs/hive-storage-plugin/ ,我对是否使用远程元存储或嵌入式元存储感到困惑。 有什么区别?
接下来,我的 EMR 集群正在运行,这是 hive-site.xml 的样子 -
<property>
<name>hive.metastore.uris</name>
<value>thrift://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:9083</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:3306/hive?createDatabaseIfNotExist=true</value>
<description>username to use against metastore database</description>
</property>
还定义了其他属性,例如 MySQL 用户名和密码等,但我想这些在这里很重要。
我应该使用哪一个来连接到 Hive?我已经尝试将这两个都放在存储插件中,但 Drill 没有接受。
我尝试过的存储插件看起来像这样 -
{
"type": "hive",
"enabled": true,
"configProps": {
"hive.metastore.uris": "thrift://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:9083",
"fs.default.name": "hdfs://ec2-XX-XX-XX-XX.compute-1.amazonaws.com/",
"hive.metastore.sasl.enabled": "false"
}
}
和
{
"type": "hive",
"enabled": true,
"configProps": {
"hive.metastore.uris": "thrift://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:9083",
"javax.jdo.option.ConnectionURL": "jdbc:derby:ec2-XX-XX-XX-XX.compute-1.amazonaws.com;databaseName=data;create=true",
"hive.metastore.warehouse.dir": "/user/hive/warehouse",
"fs.default.name": "file:///",
"hive.metastore.sasl.enabled": "false"
}
}
如果您能指导我进行设置,那将非常有帮助。 谢谢!
【问题讨论】:
标签: hadoop jdbc hive emr apache-drill