Spark壳连接到用kerberors保护的hdfs

flseospp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(279)

我正在尝试获取一个简单的sc.text文件(“hdfs://users/hadoop-user/hello-file.csv)从受kerberos保护的远程hdfs群集读取数据。
kerberos在本地计算机和远程hadoop集群上都已正确配置。我可以通过以下方法来测试:

kinit hadoop-user@company-name.com

完成此操作后,我可以使用hdfs命令行工具:hdfs dfs-ls/user。我也可以用pig来读取hdfs。

HADOOP_HOME is set in ~/bashrc file.

我用spark尝试了不同的方法,但没有成功:

val text=sc.textFile("hdfs://users/hadoop-user/hello-file.csv")
val text=sc.textFile("/users/hadoop-user/hello-file.csv")
val text=sc.textFile("hdfs://namenode1.hadoop.mycompanie.com/users/hadoop-user/hello-file.csv")

每个命令后面都跟有text.count()。
第一个命令产生:

Caused by: java.net.UnknownHostException: user

第二个命令产生:

InvalidInputException: Input path does not exist

最后一个命令生成:

Caused by: org.apache.hadoop.ipc.RemoteException: SIMPLE authentication is not enabled.  Available:[TOKEN, KERBEROS]

如何告诉spark使用kerberos对hdfs进行身份验证?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题