2

I have a LLAP service runing on yarn cluster on Amazon EMR. Here is the image showing that the llap service is on, and it's name was llap_service:

screenshot

And I've set the "hive.llap.daemon.service.hosts" to "@llap_service", but my query in hive could not success, the log was like this:

2018-01-08 08:22:43,866 [INFO] [LlapScheduler] |tezplugins.LlapTaskSchedulerService|: Timeout monitor task not started. Timeout future state: false, #instances: 0
2018-01-08 08:22:43,866 [INFO] [TaskSchedulerEventHandlerThread] |tezplugins.LlapTaskSchedulerService|: PendingTasksInfo=numPriorityLevels=5. [p=38,c=2][p=41,c=2][p=44,c=1][p=50,c=2][p=89,c=22]. totalPendingTasks=29. delayedTaskQueueSize=0
2018-01-08 08:22:43,866 [INFO] [LlapScheduler] |tezplugins.LlapTaskSchedulerService|: Inadequate total resources before scheduling pending tasks. Signalling scheduler timeout monitor thread to start timer.
2018-01-08 08:22:43,866 [INFO] [TaskSchedulerEventHandlerThread] |tezplugins.LlapTaskSchedulerService|: Received allocateRequest. task=attempt_1515129349345_0057_1_08_000022_0, priority=89, capability=<memory:2048, vCores:1>, hosts=null
2018-01-08 08:22:43,866 [INFO] [LlapScheduler] |tezplugins.LlapTaskSchedulerService|: Timeout monitor task not started. Timeout future state: false, #instances: 0
2018-01-08 08:22:43,866 [INFO] [TaskSchedulerEventHandlerThread] |tezplugins.LlapTaskSchedulerService|: PendingTasksInfo=numPriorityLevels=5. [p=38,c=2][p=41,c=2][p=44,c=1][p=50,c=2][p=89,c=23]. totalPendingTasks=30. delayedTaskQueueSize=0
2018-01-08 08:22:43,866 [INFO] [LlapScheduler] |tezplugins.LlapTaskSchedulerService|: Inadequate total resources before scheduling pending tasks. Signalling scheduler timeout monitor thread to start timer.
2018-01-08 08:22:43,867 [INFO] [LlapScheduler] |tezplugins.LlapTaskSchedulerService|: Timeout monitor task not started. Timeout future state: false, #instances: 0
2018-01-08 08:22:50,987 [INFO] [LlapTaskSchedulerTimedLogThread] |tezplugins.LlapTaskSchedulerService|: Stats for current dag: NumPreemptedTasks=0, NumRequestedAllocations=30, NumRequestsWithlocation=4, NumLocalAllocations=0,NumNonLocalAllocations=0,NumTotalAllocations=0,NumRequestsWithoutLocation=26, NumRejectedTasks=0, NumCommFailures=0, NumDelayedAllocations=2, LocalityBasedAllocationsPerHost={}, NumAllocationsPerHost={}
2018-01-08 08:23:31,081 [INFO] [AMRM Callback Handler Thread] |rm.YarnTaskSchedulerService|: Allocated: <memory:0, vCores:0> Free: <memory:6477824, vCores:1> pendingRequests: 0 delayedContainers: 0 heartbeats: 51 lastPreemptionHeartbeat: 50
2018-01-08 08:23:42,334 [INFO] [LlapTaskSchedulerTimeoutMonitor] |tezplugins.LlapTaskSchedulerService$SchedulerTimeoutMonitor|: Reporting SERVICE_UNAVAILABLE error as no instances are running
2018-01-08 08:23:42,336 [WARN] [TaskSchedulerAppCallbackExecutor #0] |tez.Utils|: Error reported by TaskScheduler [[2:LLAP]][SERVICE_UNAVAILABLE] No LLAP Daemons are running, Failing dag: [SELECT d_placement.name  AS `d_placem...DESC(Stage-1), dag_1515129349345_0057_1]

And Hive on tez worked perfectly without LLAP, could any one tell me where I was wrong please? Thanks very much.

Avag Sargsyan
  • 2,437
  • 3
  • 28
  • 41
Harper
  • 81
  • 7

1 Answers1

2

You need to find out from logs why is the LLAP demon failing to start. From RM UI > Slider llap application > container logs, you might see something like this

enter image description here

"LLAP service hosts startswith '@' but hive.zookeeper.quorum is not set. hive.zookeeper.quorum must be set.You need to add this following property in hive-site.xml"

<property>
    <name>hive.zookeeper.quorum</name>
    <value><hostname1>:2181,<hostname2>:2181,[...]</value>
</property>

And regenerate the slider llap yarn app.

This blog post helped a lot!

Charles
  • 580
  • 5
  • 16