配置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)
at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:186)
at org.apache.hadoop.security.SaslRpcClient.saslEvaluateToken(SaslRpcClient.java:488)
at org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:432)
at org.apache.hadoop.ipc.Client$Connection.setupSaslConnection(Client.java:581)
at org.apache.hadoop.ipc.Client$Connection.access$1900(Client.java:394)
at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:764)
at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:760)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1710)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:759)

dfs.data.transfer.protection也需要进行配置,否则会报:

Exception in thread "main" org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/hdfs-examples/test.txt could only be replicated to 0 nodes instead of minReplication (=1).  There are 3 datanode(s) running and 3 node(s) are excluded in this operation.
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1708)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3337)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3261)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:850)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:503)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:640)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2351)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2347)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2345)

at org.apache.hadoop.ipc.Client.call(Client.java:1511)
at org.apache.hadoop.ipc.Client.call(Client.java:1447)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
at com.sun.proxy.$Proxy9.addBlock(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:201)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:103)
at com.sun.proxy.$Proxy10.addBlock(Unknown Source)
at org.apache.hadoop.hdfs.DataStreamer.locateFollowingBlock(DataStreamer.java:1728)
at org.apache.hadoop.hdfs.DataStreamer.nextBlockOutputStream(DataStreamer.java:1528)
at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:586)

java连接HDFS+Kerberos配置参数示例相关推荐

  1. 【Java】Java连接Mysql数据库的demo示例

    [Java]Java连接Mysql数据库的demo示例 1.安装mysql数据库 2.下载java-mysql-connector.jar包 3.完成java配置 4.写java代码运行测试 1.安装 ...

  2. java虚拟机在哪配置参数,Java虚拟机(JVM)参数配置说明

    Java虚拟机(JVM)参数配置说明 1. Java VM 运行于linux平台上的JVM会读取/etc/sysconfig/i18n中的参数来决定输出流的编码方式,如果在安装linux系统过程中没有 ...

  3. Java 连接MySql数据库配置

    用navicat连接Mysql 1.点击连接,选择Mysql 2.输入连接名称,密码,安装Mysql时输入的密码,本人默认123456,好记 3.点击测试连接 出现上面这种情况是Mysql服务没有开启 ...

  4. Java线程池及配置参数详解

    一.线程池的优点 合理利用线程池能够带来三个好处. 第一:降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 第二:提高响应速度.当任务到达时,任务可以不需要的等到线程创建就能立即执 ...

  5. Java代码通过Kerberos连接HDFS

    准备配置文件工作: 1. hdfs-site.xml , core-site.xml 从[集群中下载] 2. hadoop.keytab [创建kerberos访问的用户生成] 3. krb5.con ...

  6. java获取jndi密码_用JAVA代码获取Weblogic配置的JNDI 数据源连接

    第一步:生成与JDK版本对应的weblogicjar,利用cmd 进入到weblogic_home 路径下进入到server/lib目录,然后运行  JDK  1.6 命令 "java -j ...

  7. 使用url连接mysql时的属性_MySQL数据库连接属性配置,即URL后一些配置参数及其重要性...

    在JDBC中,Connection类的创建方式有三种函数(不包括连接池) 一是:DriverManager.getConnection(String url), 二是:DriverManager.ge ...

  8. Java Spring Data Redis实战与配置参数详解 application.properties...

    Redis作为开源分布式高并发缓存,使用范围非常广泛,主流互联网公司几乎都在使用. Java Spring Boot 2.0实战开发Redis缓存可以参考下面的步骤,Redis安装可以直接使用Linu ...

  9. pdo sqlite_ sqlite2 pdo_mysql_php使用pdo连接sqlite3的配置示例

    本文实例讲述了php使用pdo连接sqlite3的配置方法.分享给大家供大家参考,具体如下: 刚刚开始使用php+sqlite 的时候,一直以为自己使用的是sqlite3 ,其实不是,php从php5 ...

  10. JAVA中d.x=7是什么意思_JVM配置参数之(-D、-X、-XX的区别)

    JVM配置参数之(-D.-X.-XX的区别) 最近在学习jvm调优相关的内容, 一直有一个疑问,为什么有些参数是以-X开头的,有些是以-XX开头的,还有-D开头的? 通过查询资料.总结如下 -XX 说 ...

最新文章

  1. 【美国】谷歌重返机器人背后有何深意?
  2. redhat7防火墙关闭_RedHat Enterprise Linux 7关闭防火墙方法
  3. HDU 2000 ASCII码排序
  4. linux驱动由浅入深系列:高通sensor架构实例分析之一
  5. python 多个列表_Python同时迭代多个列表
  6. Erlang消息传递-tut15.erl
  7. Spring Cloud Stream与RabbitMQ 死信队列
  8. 图解FFMPEG打开媒体的函数avformat_open_input
  9. python谱聚类算法_谱聚类 - python挖掘 - 博客园
  10. 服务消费(Ribbon)
  11. mysql 中时间和日期函数应用
  12. Python实现简单爬虫:爬取法律法规网数据库信息并分类写入word保存
  13. 基于单片机的数字频率计设计
  14. Android TextView水平跑马灯
  15. Java: null是什么??
  16. 万物皆可健身环:UP主爆改switch,用健身环玩起《塞尔达传说之旷野「喘」息》...
  17. 自然数学-微积分的基本公式
  18. 《CSDN Markdown简明教程》课程上线!
  19. 领域建模的思想和方法
  20. 密室逃脱之深红色房间--看看你的智商 (推荐★★★★★)

热门文章

  1. 淋雨量matlab,最小淋雨量问题
  2. 英特尔 超核芯显卡 620mac_十代i9+3080显卡,男孩们的攒机快乐,还得拿出来显摆显摆!...
  3. 远程重启h3c路由器_H3C路由器简单命令
  4. Wed Dec 20 2019 00:00:00 GMT+0800 (中国标准时间) 时间转换
  5. win服务器系统安全模式,安全模式详解
  6. 计算机专业专硕考研数学考一还是二,计算机专业考研数学考一还是二
  7. 俞军推荐:一份完整的产品经理职业成长书单
  8. 2009年国家质监局公布的禁用化妆品名单
  9. word excel如何用印章生成器软件在线制作电子印章 电子公章图片
  10. PS带框的对号怎么打