摘要:遇到這個問題,查找網上好多資料,一般都是說和不同步導致的,或者防火墻沒開端口,或者和無法通信導致的。本地需要配置好,然后加上下面這句代碼意思大概就是偽分布式注冊到的是本機的,當遠程客戶端連接到得到的的時候,得到的是,這自然是連接不上的。
019-07-01 16:45:24,933 INFO org.apache.hadoop.ipc.Server: IPC Server handler 2 on 8020, call org.apache.hadoop.hdfs.protocol.ClientProtocol.addBlock from 58.211.111.42:63048 Call#3 Retry#0 java.io.IOException: File /a1.txt could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and 1 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.getAdditionalBlock(FSNamesystem.java:3350) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:678) at org.apache.hadoop.hdfs.server.namenode.AuthorizationProviderProxyClientProtocol.addBlock(AuthorizationProviderProxyClientProtocol.java:213) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:491) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:617) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1073) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2141) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2137) 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:1835) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2135)
學些hadoop。遇到這個問題,查找網上好多資料,一般都是說namenode和datanode不同步導致的,或者防火墻沒開50010端口,或者nameNode和datanode無法通信導致的。
其實通過命令行都是可以正常操作的,遠程調用的時候可以創建目錄和文件,但是像文件寫內容的時候,就寫不進去,報如上錯誤。
本地host需要配置好,然后加上下面這句代碼
configuration = new Configuration(); configuration.set("dfs.client.use.datanode.hostname", "true");
意思大概就是偽分布式hdfs,datanode注冊到namenode的ip是本機的127.0.0.1,當遠程客戶端連接到namenode得到datanode的ip的時候,得到的是127.0.0.1,這自然是連接不上的。這里的意思大概就是強制本地java客戶端使用hostname去連接datanode,可以連接成功
防火墻端口50010也是必須打開的,因為數據節點需要使用這個端口
參考自鏈接描述
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75102.html
摘要:對上的文件進行上傳和下載是對集群的基本操作,在權威指南一書中,對文件的上傳和下載都有代碼的實例,但是對如何配置客戶端卻是沒有講得很清楚,經過長時間的搜索和調試,總結了一下,如何配置使用集群的方法,以及自己測試可用的對集群上的文件進行操作的程 對HDFS上的文件進行上傳和下載是對集群的基本操作,在《HADOOP權威指南》一書中,對文件的上傳和下載都有代碼的實例,但是對如何配置HADOOP...
摘要:助輔助做元數據的備份。元數據存儲在內存和磁盤中,這是因為磁盤的讀寫效率較低,而保存到內存又有斷電消失的隱患。但磁盤中的元數據并不是最新的,內存中的元數據才是實時的。將中的和復制到自身節點上并加載進內存,根據的記錄操作更改元數據信息。 HDFS(Hadoop Distributed File System ) 前言:最近正式進入了大數據框架的學習階段,文章來自個人OneNote筆記全部...
閱讀 1884·2021-11-17 09:33
閱讀 6470·2021-10-12 10:20
閱讀 2299·2021-09-22 15:50
閱讀 1784·2021-09-22 15:10
閱讀 615·2021-09-10 10:51
閱讀 618·2021-09-10 10:50
閱讀 3021·2021-08-11 11:19
閱讀 1776·2019-08-30 15:55