以下是我的设置:
hdinsights hadoop群集 wasb://mybucket
设置为默认fs。
安装了hdp2.2rpm软件包的centos虚拟机(我们称之为client1)
我想做的是:
local1 > ssh client1
client1> hadoop fs -ls / #list contents of blob storage bucket.
我把下列钥匙复制到 /etc/hadoop/conf/core-site.xml
从hdinsights head节点上的core-site.xml:
fs.defaultfs-wasb://...
fs.azure.account.key.mybucket.blob.core.windows.net-随机字符串
fs.azure.account.keyprovider.mybucket.blob.core.windows.net- ...ShellDecryptionKeyProvider
不幸的是,这需要一个 ShellDecryptionKeyProvider
呼喊。在windows上,这是一个命令行可执行文件。我不知道如何为linux提供这些。
输出如下:
[rathboma@client1 yum.repos.d]$ hadoop fs -ls /
15/03/04 23:02:12 INFO impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
15/03/04 23:02:13 INFO impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
15/03/04 23:02:13 INFO impl.MetricsSystemImpl: azure-file-system metrics system started
ls: org.apache.hadoop.fs.azure.KeyProviderException: Script path is not specified via fs.azure.shellkeyprovider.script
有人在azure上通过linux机器与blob存储对话吗?我需要如何配置它?
1条答案
按热度按时间6l7fqoea1#
与其尝试使用hadoop fs命令,不如直接访问存储?如果你看https://www.npmjs.com/package/azure-storage 您将发现可以通过node直接访问blob存储,而不必依赖hadoop类。以下示例应列出存储容器中的所有文件/blob:
可以使用其他几个api(java、python)或跨平台cli(https://github.com/azure/azure-xplat-cli)这可能更合适,这取决于您需要如何与存储交互。
如果您真的想尝试使用client1中的hadoop fs函数,可以尝试删除
fs.azure.account.keyprovider.mybucket.blob.core.windows.net
属性,然后将未加密的存储访问密钥放入fs.azure.account.key.mybucket.blob.core.windows.net
. 如果未指定密钥提供程序,则应按原样使用访问密钥。