什么是 Hadoop 中的作业历史服务器,为什么在 Map Reduce 模式下启动 Pig 之前必须先启动历史服务器?

Sar*_*bey 3 history hadoop mapreduce apache-pig bigdata

在以 map reduce 模式启动 Pig 之前,您总是必须在尝试执行 Pig Latin 语句时启动历史服务器,否则会生成以下提到的日志:

  2018-10-18 15:59:13,709 [main] INFO 
  org.apache.hadoop.mapred.ClientServiceDelegate - Application state 
  is completed. FinalApplicationStatus=SUCCEEDED. **Redirecting to job 
  history server**

  2018-10-18 15:59:14,713 [main] INFO  org.apache.hadoop.ipc.Client - 
  Retrying connect to server: 0.0.0.0/0.0.0.0:10020. Already tried 0 
  time(s); retry policy is 

  RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 
  MILLISECONDS)
Run Code Online (Sandbox Code Playgroud)

如上日志所示 Pig Execution engine is试图连接历史服务器 请解释作业历史服务器在 Hadoop 中的作用以及为什么需要与 Pig 中的历史服务器建立连接以进行 Map Reduce 作业

小智 5

JobTracker 或 ResourceManager 将所有作业信息保存在内存中。对于完成的作业,它会删除它们以避免内存不足。对这些过去作业的跟踪委托给 JobHistory 服务器。

Pig 客户端在其作业完成时提取作业计数器统计信息。统计信息仍然可以与 JobTracker/ResourceManager 一起使用,或者 pig 可能需要询问 JobHistory 服务器。当 JobHistory 服务器关闭时,它会打印出这些日志消息,但最终客户端应该仍然会在缺少统计信息的情况下成功。