我创建了 Azure VM 并在其中安装了我的 Java 应用程序,然后连接到 WASB 存储。
我添加了以下 jar 和 core-site.xml 以从 Java 应用程序访问 WASB 存储。
核心站点.xml
<configuration>
<property>
<name>fs.AbstractFileSystem.wasb.impl</name>
<value>org.apache.hadoop.fs.azure.Wasb</value>
</property>
<property>
<name>fs.azure.account.key.STORAGE_ACCOUNT_NAME .blob.core.windows.net</name>
<value>STORAGE ACCESS KEY</value>
</property>
<property>
<name>fs.azure.io.copyblob.retry.max.retries</name>
<value>60</value>
</property>
<property>
<name>fs.azure.io.read.tolerate.concurrent.append</name>
<value>true</value>
</property>
<property>
<name>fs.azure.page.blob.dir</name>
<value>/mapreducestaging,/atshistory,/tezstaging,/ams/hbase/WALs,/ams/hbase/oldWALs,/ams/hbase/MasterProcWALs</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>wasb://STORAGE_CONTAINER_NAME@STORAGE_ACCOUNT_NAME.blob.core.windows.net</value>
<final>true</final>
</property>
<property>
<name>fs.trash.interval</name>
<value>360</value>
</property>
</configuration>
我在 core-site.xml 中直接使用了存储访问密钥。但我希望访问密钥被加密。
当我搜索它时,我了解了以下脚本:-
<property>
<name>fs.azure.account.keyprovider.youraccount</name>
<value>org.apache.hadoop.fs.azure.ShellDecryptionKeyProvider</value>
</property>
<property>
<name>fs.azure.account.key.youraccount.blob.core.windows.net</name>
<value>YOUR ENCRYPTED ACCESS KEY</value>
</property>
<property>
<name>fs.azure.shellkeyprovider.script</name>
<value>PATH TO DECRYPTION PROGRAM</value>
</property>
如何使用加密密钥访问 WASB 存储。是否有可用于上述配置的示例?
注意:- 我将 Azure VM 直接连接到 WASB 存储,而不使用 HDInsight 群集。