1

Amazon EMR、Hive .13、Hadoop 2.x、Presto Server 0.89 を使用。通常は Hive を介してクエリされるデータをクエリするように Presto を設定しようとしています。Hive メタデータは MySQL に保存されます。Presto Server がすべてのノードにセットアップされてインストールされます。ほとんどの場合、すべて prestodb.io に記載されているとおりに設定されています。

最初にすべてのノード (コーディネーターとワーカー) でサーバーを起動し、次にコーディネーター/名前ノードで CLI を起動します。以下のコマンドを使用してクエリを実行しようとすると、"Query ... No worker nodes available" エラーが発生します。

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コーディネーターの 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 (ワーカーのみ)

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    

etc/log.properties

com.facebook.presto=INFO 

etc/node.properties

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

1 に答える 1

1

私の側の単純な間違いは、これを実行しないことでした。aws.internal.ip.of.coordinatorIP アドレスにピリオドの代わりにランダムなセミコロンがありました。私の設定を見ると、私はそれを見ませんでした。

上記のコードは、上記と同様の Amazon EMR マルチノード クラスターで機能します。

于 2015-01-09T23:02:57.357 に答える