2017-04-24 18 views
0

以下の設定でApache NiFi1.2.1にPutHDFSプロセッサを使用しようとしていますが、Apache NiFiのPutHDFSエラー

hadoop configuration reource : /usr/local/hadoop-2.7.0/etc/hadoop/core-site.xml, /usr/local/hadoop-2.7.0/etc/hadoop/hdfs-site.xml 
directory: /mydir 

以下のエラーが発生しました。

Caused by: org.apache.hadoop.ipc.RemoteException: File /tweets/.381623121831518.json could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation. 
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1550) 
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3067) 
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:722) 
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:492) 
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) 
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616) 
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969) 
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049) 
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045) 
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:1657) 
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043) 

答えて

0

私はこの問題を修正するための手順の下に続く解像度

すべて停止サービス

$ cd $HADOOP_HOME 
$ sbin/stop-all.sh 

HDFS-site.xmlの中で言及削除名前ノードとデータノードのディレクトリ

$rm datanode 
$rm namenode 

フォーマットの名前ノード

hadoop namenode -format 

スタートすべてのHadoopサービス

>宛先ディレクトリ - PutHDFSプロセッサに指定されているように/ mydirの転送

bash-3.2# jps 
61488 ResourceManager 
57128 RunNiFi 
61160 NameNode 
61256 DataNode 
57129 NiFi 
61609 Jps 
61371 SecondaryNameNode 
61582 NodeManager 

チェックファイルを実行している

チェックし、すべてのサービス:

た検証。このディレクトリにファイルが転送されている必要があります。

$ hdfs dfs -ls /mydir