我在Drill中设置了以下存储插件:
{
"type": "hive",
"enabled": true,
"configProps": {
"hive.metastore.uris": "thrift://hivemetastore.hostname.com:9083",
"hive.metastore.sasl.enabled": "false"
}
}然而,一个简单的
SELECT * FROM hive.table LIMIT 5;
...
5 rows selected (35.383 seconds)
0: jdbc:drill:> 需要超过30秒才能做出反应。我缺少什么/我应该从哪里开始进行故障诊断?
Hive metastore服务器现在与Drill相同。表中只有不到20,000条记录。
发布于 2015-11-12 05:39:38
仅MapR沙箱上的MapR Drill应使用您正在使用的稀疏存储插件配置。在沙箱中,一切都是在幕后配置的。
嵌入式METASTORE服务
假设您使用的是Drill安装,而不是沙箱,并且您使用的是嵌入式metastore服务(默认),configProps需要如下所示(根据文档):
"configProps": {
"hive.metastore.uris": "",
"javax.jdo.option.ConnectionURL": "jdbc:<database>://<host:port>/<metastore database>",
"hive.metastore.warehouse.dir": "/tmp/drill_hive_wh",
"fs.default.name": "file:///",
"hive.metastore.sasl.enabled": "false"
}从你的存储插件配置中删除"hive.metastore.uris":“://:”。这是用于远程配置单元元存储服务的。
"javax.jdo.option.ConnectionURL“可能是一个MySQL数据库。配置单元元存储服务提供对物理数据库的访问,如MySQL。MySQL存储元数据。"fs.default.name“是数据所在的文件系统位置。
嵌入式元存储配置仅用于测试,不能用于生产系统per the docs。为了提高性能,请配置remote metastore。此外,请检查您正在使用的Hive版本的兼容性。开源Apache Drill 1.0支持配置单元0.13。Drill 1.1及更高版本支持配置单元1.0。
远程METASTORE服务
如果您使用的是远程元存储,则"fs.default.name“应指向主控制节点。例如,指向NameNode。如果你使用的是MapR Drill,"fs.default.name“应该是maprfs:/。MapR FileClient通过mapr-clusters.conf计算出CLDB的位置。启动metastore服务,该服务作为单独的软件包安装在Hive之上:
hive --service metastore如果您使用的是开源Apache Drill,则远程元存储配置应如下所示:
{
"type": "hive",
"enabled": true,
"configProps": {
"hive.metastore.uris": "thrift://mfs41.mystore:9083",
"hive.metastore.sasl.enabled": "false",
"fs.default.name": "maprfs://10.10.10.41/"
}
}https://stackoverflow.com/questions/33639753
复制相似问题