java连接HDFS+Kerberos配置参数示例

本文介绍了在配置Kerberos后,Java连接HDFS时遇到的异常情况,包括SaslException和IOException。问题涉及到客户端与服务器间的保护层不匹配,以及HDFS文件复制到0个节点的问题。解决这些问题需要正确配置dfs.data.transfer.protection参数。
摘要由CSDN通过智能技术生成

配置Kerberos后,连接HDFS参数如下:


private void confLoad() throws IOException {
		conf = new Configuration();
		conf.clear();
		conf.set("hadoop.security.authentication", "kerberos");
		conf.set("fs.defaultFS", "hdfs://IP:8020");
		//conf.set("hadoop.rpc.protection", "authentication");
		conf.set("hadoop.rpc.protection", "privacy");
		conf.set("dfs.data.transfer.protection", "integrity");
	}

注意: hadoop.rpc.protection必须与集群的配置保持一致,否则会报:

Exception in thread "main" java.io.IOException: Failed on local exception: java.io.IOException: Couldn't setup connection for ldapuser@EXAMPLE.COM to /172.16.70.3:8020; Host Details : local host is: "USER-20161130SP/172.16.25.69"; destination host is: "c2bde03":8020;

... ...

Caused by: javax.security.sasl.SaslException: No common protection layer between client and server
at com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:251)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值