【无标题】org.apache.hadoop.ipc.RemoteException

在这里插入图片描述
写入hdfs发现日志报错:
2023-03-28 13:50:14,988 [Thread-12] WARN org.apache.hadoop.hdfs.DFSClient - DataStreamer Exception
org.apache.hadoop.ipc.RemoteException: File /datas/xinfo/tmp/4g nt_tmp/day=2023328/hour=13/4g_xdrvent_tmp_2034923_46bd4a785
-d42a-455e-90e5-0b9082a4b399.tmp could only be replicated to 0 nodes instead of minReplication (=1). There are 14 datanode(s) running and no node(s) are
excluded in this operation.
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1620)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3135)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3059)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:725)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:493)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol 2. c a l l B l o c k i n g M e t h o d ( C l i e n t N a m e n o d e P r o t o c o l P r o t o s . j a v a ) a t o r g . a p a c h e . h a d o o p . i p c . P r o t o b u f R p c E n g i n e 2.callBlockingMethod(ClientNamenodeProtocolProtos.ja va) at org.apache.hadoop.ipc.ProtobufRpcEngine 2.callBlockingMethod(ClientNamenodeProtocolProtos.java)atorg.apache.hadoop.ipc.ProtobufRpcEngineServer P r o t o B u f R p c I n v o k e r . c a l l ( P r o t o b u f R p c E n g i n e . j a v a : 616 ) a t o r g . a p a c h e . h a d o o p . i p c . R P C ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616) at org.apache.hadoop.ipc.RPC ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)atorg.apache.hadoop.ipc.RPCServer.call(RPC.java:982)
at org.apache.hadoop.ipc.Server$Handler 1. r u n ( S e r v e r . j a v a : 2217 ) a t o r g . a p a c h e . h a d o o p . i p c . S e r v e r 1.run(Server.java:2217) at org.apache.hadoop.ipc.Server 1.run(Server.java:2217)atorg.apache.hadoop.ipc.ServerHandler$1.run(Server.java:2213)
at java.security.AccessController.doPrivileged(Native Method)
–More–(2%)

此错误是由 HDFS 的块复制系统引起的,因为它无法制作特定块的任何副本,但是数据节点是有的。
解决思路:
排查nn是否正常

本次错误就是原因9造成的
常见原因:
1、只有一个 NameNode 实例正在运行,并且它不处于安全模式
2、没有 DataNode 实例启动并运行,或者一些已经死了。(检查服务器)
3、Namenode 和 Datanode 实例都在运行,但是它们不能相互通信,这意味着 DataNode 和 NameNode 实例之间存在连接问题。
4、由于某些基于 hadoop 的网络问题,正在运行的 DataNode 实例无法与服务器通信(检查包含 datanode 信息的日志)
5、为DataNode实例配置的数据目录中没有指定硬盘空间或DataNode实例空间不足。(检查 dfs.data.dir // 删除旧文件(如果有)
6、dfs.datanode.du.reserved 中为DataNode 实例指定的预留空间大于空闲空间,这使得DataNode 实例知道没有足够的空闲空间。
7、DataNode 实例没有足够的线程(检查 datanode 日志和 dfs.datanode.handler.count=10 值)
8、数据权限传输问题,确保 dfs.data.transfer.protection 不等于“authentication”并且 dfs.encrypt.data.transfer 等于 true。
9,集群资源不够
查看集群资源:

发现集群资源占满了,

解决方案:
1,删除部分数据
2,不能删除的短期可以修改副本数:
对原有数据修改副本数为2,使用客户端命令:hadoop fs -setrep -R 2 /path
/path是目录,该命令只针对老数据生效,新数据用客户端中dfs.replication 参数控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值