2017-01-02 114 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)了解更多的细节。