Hadoop 기초(?) 도 안된...
2013.01.27 21:25
Hadoop 을 잠시 배워보려고, 설치해서 사용해보려고 합니다.
근데, 시작하자 마자 put 에서 아래와 같은 오류가...구글링해도 잘 모르겠네요.
10 개파일을 put 했는데, hadoop fs -ls 하면, 1개가 0 bytes 로 나타나네요.
이거 참...막막하네요. -_-;
---------------------------------------------------------------------------------------------------------------------
오류는 아래와 같습니다.
13/01/28 06:25:16 WARN hdfs.DFSClient: Could not get block locations. Source file "/user/root/hdfs_wordcount_input/conf/log4j.properties" - Aborting...
put: java.io.IOException: File /user/root/hdfs_wordcount_input/conf/log4j.properties could only be replicated to 0 nodes, instead of 1
13/01/28 06:25:16 ERROR hdfs.DFSClient: Exception closing file /user/root/hdfs_wordcount_input/conf/log4j.properties : org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/root/hdfs_wordcount_input/conf/log4j.properties could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/root/hdfs_wordcount_input/conf/log4j.properties could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
코멘트 7
-
김강욱
01.27 21:34
-
꼬소
01.27 21:46
file은 정상적으로 put 했지만 data node 1번의 block을 읽어 올 수 없어서 발생한 에러로 보입니다.
복사본이 0 node에 있다고 하는데, hdfs를 내리고 다시 올려 보세요..
hdfs에 fsck가 있는지는 잘 모르겠습니다.
예전 0.24 를 써보긴 했는데, 일 때문에 제대로 보질 못했거든요..
-
꼬소
01.27 21:47
그런데 왠 hadoop 이세요;;; hdfs만 사용 하실거라면, 굳이 안 배우셔도 될 터인데요..
data node로 구성하실 컴텨가 매우 많이 않으시다면 큰 의미가 없으실텐데.. 혹시 다른 개발 용도로 쓰실려고 그러시나욤??
-
꼬소
01.27 21:57
http://hadoop.apache.org/docs/r0.18.3/hdfs_user_guide.html#fsck
fsck를 지원하긴 하는군요... bin/hadoop fsck 로 하면 된다고 하는데.. 정확한 원인은 알 수 없다고 합니다..
단지 replicate 된 block으로 대체 되는 듯 합니다..
대용량 파일을 그냥 저장만 하고 read만 하신다면 hdfs가 싼값에 쓸만한 좋은 대체수단이 될 수 있지만, 작은 파일을 빈번하게 read/write 하실거라면 권장하지 않습니다.
-
김강욱
01.27 22:15
으....인터넷에서 뒤져서 다른 configuration 을 수정했더니, 돼네요. 감사합니다.
두가지가 인터넷에 떠도는데, 심플한거는 안되고, 조금 긴거는 되네요. 히히~
꼬소님 말씀대로 실용도는 10%? 될려나요. 필요할 수 있다고도 보이기 때문에 알아는 둬야 할 것 같아서요.
제 위치가 실용도가 아니어도 알아야 될 위치다 보니...별것 다 공부하고 있다는...-_-;;;;
감사합니다.
-
꼬소
01.28 00:18
big data 관련하여 공부 하시는군요.. ㅎㅎ
근데 실용적인 면에선 딱히 쓸만한게 나오진 않았기에... 뭘 보시는게 도움이 많이 될 것이라곤 이야기 드리기 어렵겠습니다.
국내에서 big data 분석을 위해 nexR에서 나온 RHIVE 라는것도 있습니다.
그 외 hadoop stack에 대해서는 많은 자료들이 있으니 그걸 참고 하시면 되겠습니다.
공부하시고 정리 되시면 자료 공유 부탁 드립니다 ^^;
-
김강욱
01.28 01:56
오~ 넹넹~
무식한 것보다야 낫겠지 하는 마음으로 배우는 중입니다.
잘 부탁드려욤~
참 버전은
hadoop version
Hadoop 1.0.4
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290
Compiled by hortonfo on Wed Oct 3 05:13:58 UTC 2012
From source with checksum fe2baea87c4c81a2c505767f3f9b71f4
라고 나오네요.
데몬도 세개가 떠 있구요~