本文介绍了从检查点加载的电光流上下文没有hadoopConf设置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
无法使用wasbs://...
url从检查点恢复到Azure Blob存储
在群集模式下使用独立Spark 2.0.2。
val ssc = StreamingContext.getOrCreate(checkpointPath, () => createSSC(), hadoopConf)
我通过hadoopConf.set
中的hadoopConf
设置了fs.azure
和fs.azure.account.key.$account.blob.core.windows.net
,并通过sparkSession.sparkContext.hadoopConfiguration.set
在createSSC函数中冗余地设置了sparkSession.sparkContext.hadoopConfiguration.set
作业在运行时成功写入检查点文件,并一直运行到我停止它为止。
当我重新启动它时,从检查点数据创建的上下文没有hadoopConf信息来重新访问wasbs://
存储,并引发错误,指出它无法创建具有匿名访问的容器。
我错过了什么?我发现了几个关于S3的类似帖子,但没有明确的解决方案。
错误:
更多详细信息:在从Kafka 0.10.1.1连接器内的检查点重新启动并且我已确认附加到该RDD的starkConext.hadoopConf确实具有正确的密钥后,会发生这种情况。
推荐答案
解决方法:
把钥匙放在火花里core-site.xml
。我试图避免这种情况,因为凭据是部署时设置的--我不会在编译时或坞站映像构建时设置它们。
在我的容器调用spark-submit
之前,它现在从下面的模板创建/opt/spark/conf/core-site.xml
文件:
<?xml version="1.0"?>
<configuration>
<property>
<name>fs.azure</name>
<value>org.apache.hadoop.fs.azure.NativeAzureFileSystem</value>
</property>
<property>
<name>fs.azure.account.key.[CHECKPOINT_BLOB_ACCOUNT].blob.core.windows.net</name>
<value>[CHECKPOINT_BLOB_KEY]</value>
</property>
</configuration>
这篇关于从检查点加载的电光流上下文没有hadoopConf设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!