Java连接hdfs (参数配置一)

今天在Java访问hdfs上文件的时候,报错:

2018-05-03 22:40:53.343  INFO 10158 --- [eduler_Worker-4] org.apache.hadoop.ipc.Client             : Retrying connect to server: master/172.16.80.70:8020. Already tried 37 time(s); maxRetries=45
2018-05-03 22:40:56.292  INFO 10158 --- [eduler_Worker-5] o.a.c.httpclient.HttpMethodDirector      : I/O exception (java.net.ConnectException) caught when processing request: Connection timed out

我去看了一下hadoop环境,原来是在做迁移,整个hadoop环境已经坏了。我的需求是:当hdfs文件系统挂了,读取不到文件的时候,往mysql中插入一条失败记录。但是请求在连接超时后,一直在尝试重新连接,从日志看出,一直要连接45次,于是百度了一下配置文件参数配置,设置:

Configuration conf = new Configuration();
//在连接超时后,客户端连接重试次数            conf.setInt("ipc.client.connect.max.retries.on.timeouts",1);
fs = FileSystem.get(URI.create(uri), conf);

然后捕获异常,成功在catch中插入记录到mysql。
注意要和客户端连接重试次数区分开:
客户端连接重试次数:

ipc.client.connect.max.retries=10
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值