2017-01-02 64 views
0

我已創建的Linux VM天青和其上運行的Java應用程序。然後我創建了HDInsight Spark Cluster,其中包含hdfs,yarn,spark等。Azure VM中的WASB是否支持Kerberos身份驗證?

我使用虛擬機上的core-site.xml中的存儲訪問密鑰將VM連接到Spark羣集。

核心的site.xml

<property> 
    <name>fs.azure.account.key.YOUR_ACCOUNT.blob.core.windows.net</name> 
    <value>Storage_Access_Key</value> 
</property> 

,我能夠給我的應用程序上面進行身份驗證。但是我想在Azure虛擬機上使用Azure Blob存儲(WASB)中的Kerberos對我的JAVA應用程序進行身份驗證。

是否有任何可能的選項和文檔呢?請幫我

+0

@Walter請幫我解答一下嗎? – karan

+0

是WASB == blob存儲?如果是這樣,我不太確定我們是否理解這裏的要求,請注意更具體一點? – evilSnobu

回答

1

首先,請確保該Kerberos身份驗證已配置爲HDInsight。如果不能確定,請參考hortonworks公文https://docs.hortonworks.com/HDPDocuments/Ambari-2.1.2.1/bk_Ambari_Security_Guide/content/ch_configuring_amb_hdp_for_kerberos.html做到這一點。

其次,你可以嘗試參考Hadoop的官方document身份驗證使用Kerberos來配置你的web應用。

或者您可以在編程中使用Kerberos手動進行身份驗證,如下所示。

import org.apache.hadoop.security.UserGroupInformation; 
import org.apache.hadoop.conf.Configuration 

Configuration conf = new Configuration(); 
conf.set("hadoop.security.authentication", "Kerberos"); 
UserGroupInformation.setConfiguration(conf); 
UserGroupInformation.loginUserFromKeytab("<username>", "/path/to/kerberos.keytab"); 

然後

FileSystem fs = FileSystem.get(conf); 

爲參照,你也可以參考第三方博客(12)瞭解更多的細節。