사소한 질문에도 성의껏 답변주셔서 너무 존경스럽고 감사합니다. 솔직히 너무 이해가 안되서 짜증섞이인 마음으로 질문드렸던게 오히려 죄송하네요~~ ㅠㅠ 강좌는 단일 노드(standalone ) 방식이라 클러스터 개념을 생각하면서 더 헷갈리기 시작합니다. 그래서 여기저기 검색해보면서 이해를 해보려는데 개념이 부족한부분들을 질문좀 올릴까 합니다.
1. 실전에서 구성이 네임노드, 데이터 노드 각각 모두 개별 서버인거지요? 그러면 이 클러스터를 구성하기 위해 hadoop을 설치할때는 별도 hdfs client 서버에서 네임노드(즉, master 노드) 와 데이터노드를 설정과함께 클러스터 구성 명령어(hadoop설치명령어)를 날리나요? 아니면 master노드에서 강좌에서 하시는 hadoop을 설치하나요? 어디에서 설치해야 하나요? 클라이언트 서버가 있다면 이곳에서 다른 네임노드1대와 나머지 데이타노드 3대를 묶을수있도록 한번에 hadoop설치 명령어 및 cli명령어도 날려야 할텐데..어떻게 이런명령어를 날릴수있도록 인터페이스를 구성할수있는거죠?
2. 두번째는 HDFS 은 데이타를 분산저장하는 파일시스템(네임노드+데이터노드)이라고했는데 즉, 저장 용도라면 wordcount 맵리듀스가 실행된 후 생성되는 output폴더가 HDFS의 파일시스템에 놓인 결과물인가요? 데이타 노드가 여러개인데 output폴더는 어느 데이타 노드 폴더위치에 놓이나요? 또한 wordcount.txt input 데이타를 각 노드에서 분산해서 map을 만들고 분산처리를 할텐데 이때 일정 사이즈만큼 데이타 노드가 각각 분산처리하기 위해 임시저장용도로 hdfs가 쓰이는건가요? 이런때도 replica개념이 들어가나요? 이 hdfs 가 분산처리 파일시스템이라는말만 익숙할뿐 실제 분산처리 결과 저장용으로 쓰이고 또 input데이타를 나눠가지고 저장하고 또 태스크 트래커가 작업할때 이용할수있는 나눠가진 데이타 임시저장용도로 쓰이는건지..이 제가 이해한게 맞는건지 궁금합니다.
3. 마지막으로 분산처리한 결과를 다시 hdfs에 복제저장하는건지......
이렇게 제가 개념을 못잡는게~~ input이라는 입력데이타를 다 쪼개서 나눠가져가서 트래커가 각각 일을 처리할텐데....그때는 hdfs개념이 없이 트래커가 알아서 각자 input데이타를 쪼개서 나눠가져서 일을 처리하고 그 결과를 hdfs에 저장하고 그 결과가 하나의 output폴더로 보여지게 되는건지.. 너무 그림이 안그려지네요 ㅠㅠ
hdfs는 저장용도인데...어느시점에서 개입하게되는건지가 궁금합니다.
맵리듀스를 분산처리하기 위해 output을 나눠서 분산저장하기 위할때 그때 hdfs가 필요한건지...그렇다면 이건 왜 굳이 replica까지 필요할까 싶기도하구요..또한.결과물이 output나올때 hdfs에 저장되는건지...
4. 마지막으로 hive 라는걸 얼핏봤는데 강좌와는 별개입니다.
답변주실지 모르겠네요
가령 wordcount.txt input파일을 이용해 테이블을 만들고 그 테이블을 이용해 word, count 컬럼을 갖는 결과 테이블을 hive쿼리를 이용해서 create table wordcount_result이라고 생성을 하면 이 테이블 데이타를 파일로 저장을 해야 로컬스토리지로 가져올텐데 어떻게 파일로 저장하여 로컬 스토리지로 반대로 가져올수있는걸까요?
별 말씀을요.. 다짐 앞에 큰 기대를 하게 됩니다. 이론에 관한 강의를 다시 들으시면서 중요한 개념 앞에 강의를 잠시 멈추시고 그림을 천천히 그려보시면 이해가 되실 줄 기대합니다. 하둡 전문가가 되시길 바랍니다. 토론토에서 빌리 올림