[英]CDH5 hdfs balancer error
運行'hdfs balancer',我確實看到它顯示了安裝,過度利用和未充分利用的節點的機架拓撲,它說“需要移動5 TB以使集群平衡”和“決定從10.150.11.24移動10 GB字節: 50010至10.150.11.164:50010“
然后我看到這個錯誤,
WARN balancer.Balancer:調度程序線程在org.apache.hadoop.hdfs.server.balancer.Balancer的org.apache.hadoop.hdfs.server.balancer.Balancer.isGoodBlockCandidate(Balancer.java:1233)的java.lang.NullPointerException失敗.access $ 400(Balancer.java:183)org.apache.hadoop.hdfs.server.balancer.Balancer $ Source.isGoodBlockCandidate(Balancer.java:686)org.apache.hadoop.hdfs.server.balancer.Balancer $來自org.apache.hadoop.hdfs.server.balancer.Balancer $的org.apache.hadoop.hdfs.server.balancer.Balancer $ Source.dispatchBlocks(Balancer.java:776)的Source.getBlockList(Balancer.java:674) Source.access $ 1600(Balancer.java:607)at org.apache.hadoop.hdfs.server.balancer.Balancer $ Source $ BlockMoveDispatcher.run(Balancer.java:614)at java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:471)java.util.concurrent.ThreadPoolExecutor $ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)java.util.concurrent.FutureTask.run(FutureTask.java:262) Worker.run(Threa dPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:744)
那么這個,
沒有塊移動了5次迭代。 退出...
WARN hdfs.DFSClient:DataStreamer Exception org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException):/system/balancer.id上沒有租約:文件不存在。 持有人DFSClient_NONMAPREDUCE_-201468433_1沒有任何打開的文件。 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:2937)org.apache的org.apache.hadoop.hdfs.server.namenode.FSNamesystem.analyzeFileState(FSNamesystem.java:2757)org.apache位於org.apache.hadoop.hdfs的org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:569)的.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2665) .protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:440)org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos $ ClientNamenodeProtocol $ 2.callBlockingMethod(ClientNamenodeProtocolProtos.java)at org.apache.hadoop.ipc.ProtobufRpcEngine $ Server $ ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
和namenode日志會顯示這個,
WARN org.apache.hadoop.security.UserGroupInformation:PriviledgedActionException as:hdfs(auth:SIMPLE)cause:org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException:/system/balancer.id上沒有租約:文件不存在。 持有人DFSClient_NONMAPREDUCE_-201468433_1沒有任何打開的文件。
INFO org.apache.hadoop.ipc.Server:80820上的IPC服務器處理程序118,從10.150.11.126:56490調用org.apache.hadoop.hdfs.protocol.ClientProtocol.addBlock調用#71重試#0:錯誤:org.apache .hadoop.hdfs.server.namenode.LeaseExpiredException:/system/balancer.id上沒有租約:文件不存在。 持有人DFSClient_NONMAPREDUCE_-201468433_1沒有任何打開的文件。
我搜索並找到關於重復平衡器進程的一些討論,但我在我們的集群中找不到這個問題。 有沒有其他想法? 我們正在使用cdh5.0.1
在CDH中,您應該有一個運行HDFS平衡器服務的節點。 這是阻止命令行中的hdfs balancer。
看這里:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.