9

我刚刚安装了 presto,当我使用 presto-cli 查询 hive 数据时,出现以下错误:

$ ./presto --server node6:8080 --catalog hive --schema default
presto:default> show tables;
Query 20131113_150006_00002_u8uyp failed: Table hive.information_schema.tables does not exist

config.properties 是:

coordinator=true
datasources=jmx,hive
http-server.http.port=8080
presto-metastore.db.type=h2
presto-metastore.db.filename=/root/h2
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri=`http://node6:8080`

而 hive.properties 是:

connector.name=hive-cdh4
hive.metastore.uri=thrift://node6:9083

我使用的 hadoop 发行版是 CDH 4.4。我相信它已正确安装,并且 hive 可以自行成功处理查询。

谁能帮我解决?任何想法将不胜感激。

4

3 回答 3

2

按照Getting Started的建议,我创建了一个控制器(仅限 jmx)和一个单独的 worker(jmx,hive),每个都在不同的机器上。

最终为我解决了这个问题的是指定工作人员的主机名并http-server.http.port作为. 指定控制器时,它不起作用。--serverpresto

这一切都是有道理的,但我仍然想知道当我有两个 Presto-Hive 工人时会发生什么......

于 2013-11-15T18:21:24.827 回答
0

Add more line to etc/catalog/hive.properties "hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml" ofcourse check values of path before do it.

presto-metastore.db.filename= <- is this the value for Hive Warehouse Directory ? => this presto's metastore,not hive.

于 2013-11-15T03:27:40.203 回答
0

我刚刚弄清楚我的情况出了什么问题:您还必须在 $HIVE_HOME/conf/hive-env.sh 中添加以下行,以通知 hive 打开节俭端口(与 hive.metastore.uris 属性中提到的相同 - site.xml 文件)。Hive 客户端使用此端口通过 RPC 连接到 Metastore。

出口 METASTORE_PORT=9084

在 conf 文件夹中的 hive-env.sh 文件中。这应该将您的配置单元与 presto 同步。

于 2017-03-08T11:18:57.570 回答