【问题标题】:Spark history server using wasb blob storage won't start使用 wasb blob 存储的 Spark 历史服务器无法启动
【发布时间】:2017-03-23 15:14:38
【问题描述】:

我在 Azure 上使用 cloudbreak 安装了 HDP 2.5 Hadoop/Spark 集群。

除火花历史服务器外,一切正常。在日志中,它说事件日志hdfs:///spark-history 的默认 uri 为 false,缺少主机名。 因此,我将其替换为直接引用 azure blob 存储上的实际位置:wasb://<host>:<port>/spark-history。此 uri 在与 hdsf dfs -ls 一起使用时有效,但 spark 历史服务器仍然无法启动。现在它抱怨找不到类:Caused by: java.lang.NoClassDefFoundError: com/microsoft/azure/storage/blob/BlobListingDetails

所以,它似乎在启动过程中没有加载某些驱动程序。我确实找到了/usr/hdp/current/hadoop-client/lib/azure-storage-2.2.0.jar,可能就是这样。但我不确定如何使用 ambari 配置编辑器在启动期间让历史服务器加载 jar,或者这是否是原始问题的正确解决方案。 最奇怪的是,Azure HDInsight 使用 blob 存储,而 spark 历史服务器只是使用默认的 hdfs:///spark-history 设置运行。

有关如何加载 azure-storage 驱动程序或解决此问题的任何其他方法的任何建议?

感谢

【问题讨论】:

  • 您可以在描述中发布解决方案作为答案吗?谢谢。
  • 将解决方案移至答案...

标签: java azure hadoop apache-spark


【解决方案1】:

我会回答我自己的问题。 hortonworks 社区论坛上有人给出了答案:spark 装配 jar 包含无效的存储 jar。更新程序集 jar 解决了这个问题:

mkdir -p /tmp/jarupdate && cd /tmp/jarupdate
find /usr/hdp/ -name "azure-storage*.jar"
cp /usr/hdp/2.5.0.1-210/hadoop/lib/azure-storage-2.2.0.jar .
cp /usr/hdp/current/spark-historyserver/lib/spark-assembly-1.6.3.2.5.0.1-210-hadoop2.7.3.2.5.0.1-210.jar .
unzip azure-storage-2.2.0.jar
jar uf spark-assembly-1.6.3.2.5.0.1-210-hadoop2.7.3.2.5.0.1-210.jar com/
mv -f spark-assembly-1.6.3.2.5.0.1-210-hadoop2.7.3.2.5.0.1-210.jar /usr/hdp/current/spark-historyserver/lib/spark-assembly-1.6.3.2.5.0.1-210-hadoop2.7.3.2.5.0.1-210.jar
cd .. && rm -rf /tmp/jarupdate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多