아파치 진영을 중심으로 하둡 기반의 다양한 어플리케이션을 통해서 실시간 처리, 기계학습, 그래프 분석 등을 수행하고 있다. 하둡의 기본 개념이 구글 시스템에서 시작된 만큼 먼저 구글의 분산 처리 구성을 살펴본다. 그리고 아파치에서 제공하는 하둡 에코시스템의 구성을 알아본 후, 클라우데라, 페이스북, 야후, 링크드인 등에서 이를 활용하는 구조를 정리해 본다. 결국 회사의 용도에 맞춰서 기술들을 잘 조합해서 사용하는 것이 관건인 듯하다. 물론 필요에 따라 클라우데라의 임팔라나 링크드인의 카프카와 같이 직접 만들수도 있지만 말이다. 구글 빅데이터 스택 구글은 Chubby라는 'Coordination'을 사용하고, 데이터스토어로는 Big Table을 쓰고 있다. 그리고 맵리듀스의 상위 언어로 Sawzall을 사..
Apache, PHP, MySQL을 윈도우나 리눅스에서는 APM 설치로 한다. 맥(Mac)에서는 어떻게 할까? Apache와 PHP는 맥에 기본으로 설치되어 있어 간단한 설정만으로 띄울 수 있다. MySQL은 맥용을 다운로드해서 Package를 실행해서 설치하면 된다. 맥용 MySQL을 설치하면 "시스템 환경설정"에 MySQL 아이콘이 생겨 쉽게 시작하고 중지할 수 있다. 맥용 MySQL을 제거하기 위해서는 MAC에서 MySQL 삭제하기 참고하자. Mac용 Apache 설정 먼저 아파치부터 알아보면, 앞서 이야기한대로 Mac에는 아파치가 기본으로 설치되어 있다. 예전에는 "시스템 환경설정 > 공유"에 들어가면 아래와 같이 "웹 공유"가 있어 쉽게 설정할 수 있었다. 하지만 10.8 버전의 Mountain..
카프카(Kafka)는 대용량 실시간 처리를 위해 사용하는 메시징 시스템으로 Pub-Sub 구조로 되어 있다. LinkedIn, Twitter, Netflix, Tumblr, Foursquare 등 대용량을 다루는 업체들이 주로 카프카를 사용하고 있다. 물론 카프라 단독으로 실시간 처리를 구성하지 않고, 스톰(Storm) / 하둡(Hadoop) / HBase 등과 연동해서 활용하는 것이다. 아직까지 국내에서 카프카를 실제 서비스에 많이 활용하고 있지는 않고 오히려 레디스(Redis)와 같은 메모리(In-Memory) 기반의 메시지 큐나 멤캐쉬(memcached)를 더 많이 사용하는 것 같다. 하지만 전세계 40여개가 넘는 대용량을 다루는 업체들이 어떻게 카프카(Kafka)를 사용하고 있는지 한번 정리해 보..
아파치 로그를 분석하는 awstats에 대해서는 지난번에 블로깅을 한 적이 있습니다. 2011/08/20 - [프로그래밍/리눅스] - 웹로그 분석 프로그램 AWStats 활용 그런데 최근 로그 파일을 분석하려고 해보니 2달 정도 쌓이 로그가 6G 정도 되더라구요. (월별로 쌓도록 구성했어야 했는데.. 설정을 변경해야 겠네요. ㅠㅠ) awstats가 분석하다가 결국 out of memory라는 말을 남기고 그대로 종료해 버렸습니다. 그래서 로그 파일을 분할하는 프로그램을 찾아봤는데요. cronolog(http://cronolog.org/)라고 하는 프로그램이 있더군요. 원래는 아파치 로그가 쌓일때 월별, 날짜별로 저장하도록 필터를 쉽게 설정할 수 있는 프로그램이라고 합니다. 그런데 여기 실행파일을 보면 c..
이번에는 Apache를 설치한 후 init.d에 자동실행 설정하는 내용을 정리해 보도록 하겠습니다. install 버전으로 설치한 분은 이전 글을 참고하면 좀 더 쉽게 등록할 수 있습니다. 2011/08/19 - [프로그래밍/리눅스] - 우분투에서 아파치 서버 설치 1. 실행 스크립트 복사 Apache 실행 스크립트인 apachectl을 /etc/init.d에 httpd라는 파일명으로 복사합니다. > cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 2. chkconfig를 이용해 자동실행을 등록 > chkconfig --add httpd 이 명령어를 실행해보면 "httpd 서비스는 chkconfig를 지원하지 않습니다."라는 오류가 납니다. 3. chkcon..
운영하는 서비스의 웹 로그를 분석할 필요가 있어 아파치 웹 로그 분석 툴을 찾아봤습니다. 처음에는 윈도우에 설치해서 사용할 수 있는 Apache Logs Viewer(http://apacheviewer.com/)를 활용했습니다. 그러나 메뉴얼과 달리 볼 수 있는 항목이 Hit 수 뿐이고 더군다나 대용량의 로그 파일은 처리하다가 Out Of Memory가 나오더라구요.. 그래서 찾아보니 리눅스에 설치해서 사용할 수 있는 AWStats(http://awstats.sourceforge.net)라는 프로그램이 있습니다. Apache와 연동해서 웹 기반의 깔끔한 UI도 제공하고 필요한 정보다 나름 많이 보여줘서 괜찮은 것 같습니다. 이걸 하기 위해 맥북의 패러럴즈에 우분투를 설치하고 설정해 봤습니다. 먼저 AWs..
우분투에서 아파치 서버 설치하는 방법에 대해서 간략하게 정리할께요. 아파치는 소스 컴파일로 설치하는 것이 더 좋지만 단순한 테스트 용도로 세팅할 거라 쉽게 설치하는 방법만 정리해 봅니다. (실제로는 Apache Log 분석을 위해 awstats를 사용하기 위해서 설치하는 거라서... ^^ 요것도 곧 정리할께요..) 아파치 설치 > sudo apt-get install apache2 설치가 끝나버렸습니다. :) 그런데 한가지 이슈는 소스 컴파일의 경우, /usr/local/apache 라는 폴더를 만들어서 넣어두고 쓸 수가 있는데. 환경 설정이나 실행파일들이 여기 저기 흩어져 있는 아쉬움이 좀 있네요.. -.- 그래서 주요 파일들 위치만 간단히 정리해 봅니다. 환경설정 파일 (httpd.conf) > vi..