Presto - 查询...没有可用的工作节点

时间:2015-01-09 18:43:46

标签: hadoop hive amazon-emr presto

使用Amazon EMR,Hive .13,Hadoop 2.x和Presto Server 0.89。尝试设置Presto以查询通常通过Hive查询的数据。 Hive元数据存储在MySQL中。在所有节点上安装Presto Server。在大多数情况下,所有内容都按照prestodb.io中的说明进行设置。

我首先在所有节点(协调器和工作程序)上启动服务器,然后在协调器/名称节点上启动CLI。当我尝试使用以下命令运行查询时,我得到一个"查询...没有可用的工作节点"错误:

presto-cli presto-cli --server localhost:8080 --catalog jmx --schema default 
presto:default> SELECT * FROM sys.node;
"Query ... No worker nodes available"

如果我在我的协调器config.properties文件中包含node-scheduler.include-coordinator=true,则从该查询返回1个节点。

CONFIGS:

etc / config.properties(仅限协调员)

coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri=http://aws.internal.ip.of.coordinator:8080 

etc / config.properties(仅限工作人员)

coordinator=false
http-server.http.port=8080
task.max-memory=1GB
discovery.uri=http://aws.internal.ip.of.coordinator:8080  

etc / catalog / hive.properties(所有节点)

connector.name=hive-hadoop2
hive.metastore.uri=thrift://aws.internal.ip.of.coordinator:9083  

etc / catalog / jmx.properties(所有节点)

connector.name=jmx   

etc / jvm.config(所有节点)

-server
-Xmx16G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:ReservedCodeCacheSize=150M    

等/ log.properties

com.facebook.presto=INFO 

等/ node.properties

node.environment=production
node.id=unique-uuid #used uuidgen
node.data-dir=/mnt/presto-data

1 个答案:

答案 0 :(得分:1)

我的简单错误就是让它不能运行。我的aws.internal.ip.of.coordinator IP地址中有一个随机的分号而不是句号。看着我的配置,我只是没有看到它。

上述代码适用于类似于上述代码的Amazon EMR多节点群集。