3

Presto を Cloudera VM で動作させようとしています (プレーンな Hadoop と Amazon での実行に失敗した後)。基本的に、すべて (コーディネーター、ディスカバリー、ワーカー) を同じノードに配置します。ドキュメントの指示に従いましたが、選択クエリを実行すると、次のようなエラーが発生します。別の投稿ごとにノード ID に使用する UUID を生成しましたが、それでも同じ問題です。誰かが助けることができます。

java.lang.IllegalStateException: No nodes available to run query
    at com.google.common.base.Preconditions.checkState(Preconditions.java:150) ~[guava-15.0.jar:na]
    at com.facebook.presto.execution.NodeScheduler$NodeSelector.selectNode(NodeScheduler.java:166) ~[presto-main-0.52.jar:0.52]
    at com.facebook.presto.execution.SqlStageExecution.chooseNode(SqlStageExecution.java:531) [presto-main-0.52.jar:0.52]
    at com.facebook.presto.execution.SqlStageExecution.startTasks(SqlStageExecution.java:467) [presto-main-0.52.jar:0.52]
    at com.facebook.presto.execution.SqlStageExecution.access$300(SqlStageExecution.java:80) [presto-main-0.52.jar:0.52]
    at com.facebook.presto.execution.SqlStageExecution$5.run(SqlStageExecution.java:435) [presto-main-0.52.jar:0.52]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
    at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
4

1 に答える 1

2

Cloudera VM 4.3.0 VirtualBox イメージで動作している構成は次のとおりです。

etc/node.properties

node.environment=production
node.id=FA7BA366-0253-43CA-99DE-32DD4AC11C88
node.data-dir=/var/presto/data

etc/config.properties

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

etc/catalog/hive.properties

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

etc/catalog/jmx.properties

connector.name=jmx

etc/jvm.config

-server
-Xmx2G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:PermSize=150M
-XX:MaxPermSize=150M
-XX:ReservedCodeCacheSize=150M
-Xbootclasspath/p:/opt/presto/lib/floatingdecimal-0.1.jar

Cloudera VM には jdk 6 が付属しています。Presto には jdk 7 が必要です。jdk7 をインストールしてください。rpm インストールは使用しないでください。jdk6 が削除され、他のサービスに影響を与える可能性があります。presto は /opt/presto にインストールされ、このディレクトリ (/var/presto と共に) は cloudera:cloudera によって所有されていると仮定します。Presto サーバーを起動します。

PATH=/usr/java/jdk1.7.0_45/bin:$PATH /opt/presto/bin/launcher run

クライアントのようにコマンドを実行します。

PATH=/usr/java/jdk1.7.0_45/bin:$PATH ./presto-cli-0.52-executable.jar --server localhost:8080 --catalog hive --schema default
于 2013-11-14T07:50:29.150 に答える