본문 바로가기

OpenSource(Bigdata&distribution&Network)

KafKa Cluster ~ HelloWorld RabbitMQ vs KafKa를 테스트한 자료가 외국블로그에 소개가 되는글을 우연히 본후 이 두가지를 동시에 사용하면서 메세지 전송을 위한 작업을 진행해보고자 한다. 그래서 우선 요거부터 기본설치를 한다. 카프카 프로젝트 : http://kafka.apache.org설치 버전 : 0.9.0.1 * 구성형태 사실 이건 설치고자시고 할것도 없더라.그냥 바로 사용해되 된다. ㅎㅎ... 우선 나같은 경우는 zookeeper 가 있는 상태이고 사용중이기때문에 (hbase에서) 그냥 바로 이용한다. 카프카에서는 Topic 이라고 하는가본데 이 Topic 을 등록하고 그 Topic 을 통해서 메세지를 주고받는것인가보더라. 내가 구성한 형태는 아래와 같다. * 카프카를 주키퍼가 있는 서버에 같이 설치를 했으니 그림은.. 더보기
RabbitMQ Hello World RabbitMQ HelloWorld 를 찍어보기로 한다.원래 이건 인터넷 서핑중에 우연히 발견한 오픈소스? 이다. 원래 얼랭을 뒤져보다가. 발견한건데. 메세지 서버로 쓸만하다. 메세지 큐서버 라고 해야하나??? 아무튼 내가 X라고 보내면 서버에서 메세지를 가지고 있다가 받는쪽에서 X라고 받는 이런형태더라. 아래와 같은 형태로 HelloWorld를 찍기로 했다. 사용한 RabbitMQ 버전 : 3.6.1Java Client 버전 : 3.6.1 ( 이건 당연히 이클립스에 서버콘솔쪽에 classpath추가함 )JDK : 1.8 192.168.0.5 : 내가 작업하는 컴퓨터 ( 이클립스에서 Console java 하나 만들어서 실행 )192.168.0.111 : RabbitMQ 서버가 설치된 서버Console .. 더보기
erlang yum 설치 + RabbitMQ RPM 설치. Rabiit MQ 설치를 해보기로 하면서 이왕 할꺼 erlang 을 해보기로 함. RabbitMQ : https://www.rabbitmq.com/얼랭 사이트 : https://www.erlang-solutions.com/ Rabbit MQ 다운로드에 java client 말고 erlang 이 있길래 설치하는것임;;;;; 설치방법에 yum으로 설치하는것이 있길래 설치 시도.repository가 없는것같아서 centos 7 repo 로 뒤져보고 rpm 받아서 repo추가한후 설치한 과정을 기록한다.[root@os1 hadoop]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm--2016-04-09 07:51:.. 더보기
spark + cassandra 연동 개놈에 카산드라 -- 연동 짜증난다 ㅋHbase 연동을 먼저좀 해보려고 하다가 실패를 하고 짜증나서 카산드라 연동좀 시도해보고 성공후에 기록남김. spark 버전 : 1.6.1 ( 하둡 2.7.2를 사용해서 하둡용으로 컴파일된 버전사용 )cassandra 버전 : 3.4 cassandra spark java connector 버전 : 1.5버전 사용.node 수 : 6 cassandra 설치는 쉬우므로 내가 기록할 정보만 기록한다.나는 6대로 계속 테스트중이므로~~~ 참고로 모든 노드의 스펙은 아래와 같다. ( vmware 스펙 ㅋ ) 카산드라 설정파일 작업부분.위의 VM들을 가지고 모든 노드에 각각 아이피를 할당하여 설정한 설정정보만 남긴다. 카산드라의 분산및 리플리케이션을 위한 구성을 위해서 건드려야.. 더보기
spark + Hbase 연동에러 해결건. 이클립스에서 개발테스트중에 발생한 오류 ( 실행하면 SparkConf쪽에서 바로 오류가 난다.)사실 저 매쏘드를 찾아보려고 jar을 다뒤져보고 역컴파일하다가 짜증나서 폭팔함;; Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$conforms()Lscala/Predef$$less$colon$less;at org.apache.spark.util.Utils$.getSystemProperties(Utils.scala:1546)at org.apache.spark.SparkConf.(SparkConf.scala:59)at spark1.test1.main(test1.java:20) 해결책 : 버전을 잘 마춰준다 ㅋㅋ참고 : spark-1... 더보기
spark + Hadoop + python ~ HelloWorld 서론.Hbase에 접근하여 SQL형태로 데이터를 추출하는작업을 하고자 처음 사용한것은 phoneix ~ ===> http://phoenix.apache.org/관심 있는 사람은 들어가보겠지만일단 난 갈아타기로 했다. 이것저것 찾아보다가 SPARK를 발견.나이가 좀있는사람은 알겠지만 국내 성인잡지중에 SPARK라고 있었다.음~ -_-ㅋ;;; 난 그걸 얼굴에 철판을 깔고 당당히 서점에서 사서 본적은 있다.물론 지금도 있는지 찾아볼필요도 없었고 궁금하지도 않다.;;;;;;; 아무튼 spark는 자바도 지원하고 겸사겸사 공부하려고하는 파이썬도 지원하고있다보니 관심있게보다가.이쪽분야에서 고공분투하는 연구팀및 개발자분들이 극찬을 한것을 보고 이게모지??? 하면서 깔기시작하다가. 개인사정으로 구성만하고 이제서야 he.. 더보기
log파일 flume으로 hdfs에 저장하기 시스템 규모가 커지면서 서버도 많아지고. ......또한 각각서버는 응가하듯 각자의 머신에 로그를 쌓는다.그러다가 장애가 발생하면 어느서버인지 확신하지못하면서 전로그를 뒤져보게 된다. 서버가 많으면 이걸 일일히 볼수가 없어서 한곳에 몰아 넣는작업을 했다. 이미 빅데이터 프로젝트를 진행하고 있는지라. Hadoop 이 있어서 아래처럼 구성했다. 아래는 회사에 적용한 로그 취합 구조이다. 우리는 서버가 2대가 있는데 이 두대에서 나오는 로그를 쌓고 HDFS에다가 넣어버렸다. flume conf 설정 flume 1.6 을 사용했고 인터넷뒤져보면서 2~3개 짬뽕한거니까. 보다가 똑같아! 라고 한다면 그게 맞다 -_-;;; WAS쪽에 설정된 flume.conf agent02.sources = execGenSrcag.. 더보기
Hadoop Hbase 이용한 데이터 적재및 결과 DB전송 RDBMS 가 좋다~ 편하니까 ㅎㅎ....하지만 대형데이터를 다루기엔 역시 개발자입장에선 NoSQL이 편하기도 하다.SQL의 튜닝적인 요소에 머리를 쥐어짜고 고민하고 스트레스받는것보단 NoSQL에서 데이터를 쭉쭉뽑으면 쉽긴하다. RDBMS든 BigData든 중요한건 데이터를 메모리로 들고가서 처리하고 결과를 보여준다.그에대한 내부 아키텍쳐가 아무리 복잡해도 후다닥 가져와서 후다닥처리하고자함은 역시나 다를바없다고 본다. 회사에서도 오라클로는 저장하기 부담스러운 데이터를 적재하고 분석하고자 고민끝에. 아래처럼 Hadoop을 선택했다.그중에서도 가장 DB스러운 hbase를 채택하여 운영해보고 쓸만하면 복잡스럽지 않은 데이터는 hbase를 앞에 두고 운영하려고 겸사 겸사 프로젝트 시작한다. 그림은 최종 고객이 .. 더보기
Hive java connection 설정 어찌되었든 DB만은 할수없는 일이다. 좋은(비싸기만 한것말고 적재적소의 데이터베이스) DB에 잘 설계된 데이터구조를 올려놓고 나면 잘만들어진 프로그램이 좋은 인터페이스 역할을 해야 좋은데이터가 만들어지는것이지. DB혼자 잘나바야 데이터 넣기도 어렵고 개발혼자 잘나바야 데이터 꺼내서 활용하기도 어렵다. 개발과 DB는 어찌되었든 같이 조화가 되어야지 불화(?) 가 되어서는 안되는것 같다. 아무튼. 데이터 insert , select 를 위해서 hive를 이용해서 데이터 조작을 위한 테스트를 진행하려고 한다. 준비사항 : 1. hive-0.8.1-bin.tar.gz 안의 라이브러리들. 2. 개발툴 ( 나는 eclipse ) 3. WAS 아무거나 ( 나는 tomcat - was라고 치자..... ) 1. 설정 .. 더보기
Hive로 결정. Hbase 로 이것저것 보다가 pig , hive를 발견했다. 사실 pig 와 hive는 hadoop을 보면서 봤던 단어이기도 하다. 그중에 hive! 여기저기 찾아보니 페이스북에서 개발했고 그게 오픈소스프로젝트에서 업그레이드?를 한다고 하던데 (맞는지 안맞는지는 난 모름) 기본적인 세팅을 하고 hive를 실행해보니 약간 DB와 비슷하다. 내가 늘하던 SQL과 비슷해서 (단 INSERT는 무슨 load도 아니고;;;; 뭐냐;;) 그래서 hive로 이것저것 하기로 하고 세팅을 하기로 했다. 아파치 hive 문서를 찾아보면 https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-InstallationandConfigurat.. 더보기