使用amazonemr、hive.13、hadoop2.x和presto服务器0.89。尝试设置presto来查询通常通过配置单元查询的数据。配置单元元数据存储在mysql中。presto服务器安装在所有节点上。大多数情况下,一切都是按照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"
如果我包括 node-scheduler.include-coordinator=true
在my coordinator config.properties文件中,此查询返回1个节点。
配置:
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(仅在worker上)
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
等/日志属性
com.facebook.presto=INFO
等/节点属性
node.environment=production
node.id=unique-uuid #used uuidgen
node.data-dir=/mnt/presto-data
1条答案
按热度按时间8aqjt8rx1#
我犯了一个简单的错误,就是让它不能运行。我用了一个随机分号而不是句号
aws.internal.ip.of.coordinator
ip地址。看着我的配置,我只是没看到。上面的代码将在类似于上面的amazonemr多节点集群上工作。