Hadoop을 설치하려고 보니...

세상 흐름에 도태되지 않으려고 발악 중이다. 휴가철인데다 중요한 일을 다 끝내놓아서 대낮에 한가롭게 자기계발(?)을 위해서 hadoop을 만지고 있다. 원래는 deep learning을 들여다보다가 이게 hadoop까지 확장이 되어버렸다. 아마도 이것 말고도 계속해서 확장이 될 것 같다.

Hadoop은 자바기반의 분산처리 플랫폼으로 알려져있는데, 이와 관련된 주된 키워드가 MapReduce라는 것이다. 이것은 Map과 Reduce가 합해진 말이고, 이들은 말 그대로 map을 짜고 원하는 정보만을 얻기 위해 불필요한 정보를 제거하는 것이 reduce가 된다. 말이 그렇지 reduce라는 것은 mpi-reduce처럼 해석이 되어야 할 것 같다. 즉, 분산해서 map을 처리하고 그 결과를 mpi_reduce처럼 한꺼번에 취합하는 과정을 reduce (취합하여 불필요한 단편적 정보들이 줄어들게 되니까)라고 불러야 되는 듯 하다. 구글에서 사용했다는 이름붙이기 인데, 이게 표준용어처럼 되어버린 것이라고 이해해야하는 것 같다. 각각은 하나의 함수로 용도에 맞춰서 작성하게 되는 것이다.

아무리 많은 책을 읽어보고 글을 읽어봐도 대개는 추상적인 이야기들이 주를 이룬다. MapReduce가 뭘 어쩌라는 것인지 무슨 교양과목 개론 적어놓은 듯이 얘기를 늘어놓는 것이다. 알고 있는지 모르고 있는지 확인하는 시험을 준비하려는 것인지 왜 하나같이 이런 내용의 글 들 밖에 없는지 호기심이 점점 커져갔기에 일단 만져보자라는 심산으로 설치하려고 보니 어라? docker를 불러대는 것이다.

오호 이것 참..세상 좋아졌네..

다양한 하드웨어, OS 환경을 지원하기 위해서 configure를 엄청 돌린다거나 하는 일을 하지 않고 docker container를 떡하니 하나 만들고 거기에 build 환경을 script로 마련한 뒤에 build하기 시작한다.

그런데 source로는 그대로 설치가 잘 안된다. 무슨 일인지 pip의 버전이 안맞는다며 중간에 뛰쳐나오는데, 이것 저것 수정하고 해야 할 듯 해서 brew로 install하였다. 역시 이것 저것 안된다며 불만에 찬 메시지들이 나와서 잠시 중단했다.

아무래도 그냥 linux에 올려버리는 게 맞을 것 같다.