11

I am trying to use Hadoop of Azure HDInsight. I am logging into the cluster by ssh and running the following

hadoop jar jar_name class_name wasb://[email protected]/inputdir wasb://[email protected]/outputdir 

But I get the following exception:

Exception in thread "main" org.apache.hadoop.fs.azure.AzureException: org.apache.hadoop.fs.azure.AzureException: Unable to access container xxx in account yyy.core.windows.net using anonymous credentials, and no credentials found for them in the configuration.

I am using azure cli and I ran "azure login" before running the above mentioned hadoop job.

Please let me know how I can fix this error.

Ubuntu 12.04 runs on these machines.

PS: posted this on Azure forums as well, but reposting it here to get broader audience.

Nishu Tayal
  • 20,106
  • 8
  • 49
  • 101
Raghava
  • 947
  • 4
  • 15
  • 29

4 Answers4

12

EDIT: Your storage location should be wasb://[email protected]/inputdir

It sounds like your cluster is not attached to that storage account. Recreate your cluster and make sure that the account that holds the jar is attached to the cluster. Otherwise, move your jar to a storage account that is connected!

Andrew Moll
  • 4,903
  • 2
  • 13
  • 15
3

The correct format to use Azure Blob storage is

wasbs://<container>@<storage-account-name>.blob.core.windows.net/<directory>/

Always make sure to end your wasbs with /

Amit Shahi
  • 81
  • 5
2

This problem has been resolved and I am putting up the answer here in case someone faces the same issue.

I made couple of silly mistakes.

1) It should be wasb://@.blob.core.windows.net. I missed 'blob' earlier. 2) There should be a trailing '/'. So it should be hdfs dfs -ls wasb://[email protected]/

Raghava
  • 947
  • 4
  • 15
  • 29
0

I faced this error.

I used to write

wasb://directory/

instead of

wasb://[email protected]/directory/
Ganesh
  • 677
  • 8
  • 11