2013-11-14 5 views
2

Я пытаюсь заставить Presto работать над Cloudera VM (после того, как не удалось запустить его с помощью простых Hadoop и Amazon). В основном у меня есть все (координатор, открытие, рабочий) на том же узле. Я выполнил инструкции в документах, и я получаю сообщение об ошибке, как показано ниже, при запуске запросов на выбор. Я сгенерировал 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] 

ответ

2

Вот конфигурация, которая работает для меня на Cloudera VM 4.3.0 VirtualBox изображения:

и т.д./node.properties

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

и т.д./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 

и т.д./Каталог/jmx.properties

connector.name=jmx 

и т.д./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 install, он удалит jdk6, и это может повлиять на другие службы. Я предполагаю, что presto установлен в/opt/presto, и этот каталог (наряду с/var/presto) принадлежит cloudera: cloudera. Start Presto сервер: команда

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

Run, как клиент:

PATH=/usr/java/jdk1.7.0_45/bin:$PATH ./presto-cli-0.52-executable.jar --server localhost:8080 --catalog hive --schema default 

 Смежные вопросы

  • Нет связанных вопросов^_^