我正在尝试获取一个简单的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进行身份验证?
暂无答案!
目前还没有任何答案,快来回答吧!