본문 바로가기

OpenSource(Bigdata&distribution&Network)

[Flume]kafka를 Sink로 이용 & OS 변수 받아 오기 * 목적 : 여러대의 hadoop data node 에서 발생하는 정보를 한눈으로 보고싶다!* 내용 : hadoop 대수가 늘어나면서 직접 해당 노드에 들어가서 상태를 보는것이 사실상 안된다고 보는게 맞는것 같다. 그래서 한곳으로 몰빵하는 작업을 시작 하기로 했음. 준비물 * 장비 : 그냥 서버들 ( 내 상황은 운영중인 약 50대의 datanode 서버들 전부 ) * 소프트웨어 : flume 1.8 1. 서버에서 agent 형태로 실행해야하기때문에 shell 에서 설정한 변수를 가져올필요가 있었다아래 ${~ } 이게 되네~ ㅋㅋ 하지만 알아둘것은 shell 내에서 변수를 선언하는게 아니라 export 까지 해야 인식한다.그래서 conf 안에 있는 flume-env.sh 에다가 추가함. * 1.6일때는 k.. 더보기
[SPARK,KAFKA] spark stream 구성 * 목적 : 여러대의 hadoop data node 에서 발생하는 정보를 한눈으로 보고싶다!* 내용 : hadoop 대수가 늘어나면서 직접 해당 노드에 들어가서 상태를 보는것이 사실상 안된다고 보는게 맞는것 같다. 그래서 한곳으로 몰빵하는 작업을 시작 하기로 했음.* 설치 내용은 이제 빼도 될만큼 잘구성되어있어서 설치는 쉬우니 패스;;;; 준비물 * 장비 : 서버 6대 * 소프트웨어 : 1. spark 2.2.1 2. kafka 0.10.x3. zookeepr 3.4.114. flume 1.8 1. 구성 개발목적으로 제공되는 서버가 6대가 있어서 해당 서버를 가지고 구성을 하기때문에 여기저기에 중복설치를 하기로함. 내가 사용중인 구성은 아래와같다. ( spak stream 처리에 대한 내용이니 그거관련 .. 더보기
[ELK]각 메인 설정 정보 1. elasticsearch 설정 - elasticsearch.yml path.data: /data01/esdata, data02/esdata RHEL 6.5 (커널문제로 지원 안대서 아래설정 추가 )위에 설정한 disk 수만큼 아래 숫자 지정했음.bootstrap.system_call_filter: falsenode.max_local_storage_node: 10network.bind_host: * * * * network.publish_host: * * * * 2. logstash 설정 - logstash.yml x pack 설치하면서 추가된 설정xpack.monitoring.elastichsearch.username: logstash_system xpack.monitoring.elastichsea.. 더보기
[SPARK] scala 에서 데이처 처리한 것들 소스 ( MySQL , ES , Hive , Hbase(phoenix) ) 1. MySQL 테이블 조회해서 dataframe 으로 만들고 Hive 에넣기 var driver = "com.mysql.jdbc.Driver"var url = "jdbc:mysql://hostname"var username = "user"var password = "pass" val conn = new Properties()conn.put("user", username)conn.put("password",password) val sqlContext = new SQLContext(sc)val df = sqlContext.read.jdbc(url, "TABLE_NAME", conn) df.write,mode("overwrite").saveAsTable("hive.table") 2. ELASTICSEARCH.. 더보기
Spark2.1 Hive Auth Custom Test Spark2.1 Hive Auth Custom Test - 2017년 현재. 모 빅데이터 프로젝트 운영을 하고있는중.- 요구사항 : Spark 를 사용하는데 Hive권한 인증을 사용하려한다. Spark 버전 : 2.1문제점 : Spark의 강력한 기능에는 현재 호튼웍스 빅데이터 플랫폼에서 사용하고있는 Spark인증은 찾아봐도 없었다. Hive Metastore를 쓰기때문에 Custom을 해서 재컴파일하려고 했고.테스트는 잘되고 . 그 위치만 올려서 나중에 안까먹으려한다. - Spark Source는 Scala로 되어있다 .- 일단 Scala를 좀 스스로 Hello World는 찍고나서 아래부분에 기능을 추가함.SparkSource 위치 sql/hive/src/main/scala/org/apache/spa.. 더보기
sqoop parquet snappy 테스트 현재 프로젝트에서 SQOOP 과 압축과 저장포멧을 선택해야해서 간단하게 테스트를 했다. 테스트항목은 sqoop 을 통해서 oracle 데이터를 hadoop 에 넣을때 snappy의 압축 / 비압축 text plain / parquet 포멧이 두가지 종류로 총4 개의 테스트를 진행한다. 테스트 장비의 간단한 스펙 Host 장비 : CPU : Xeon CPU E5-2620 v3 * 2 HT ( Total 24 Core )RAM : 256GBHDD : PCI-E(NVMe) Vm OS , SATA (hadoop , oracle data ) guest os 스펙 HADOOP ECO SYSTEM vm node spec core : 16core ( 4socket , 4core )ram : 16GB1 name node.. 더보기
sqoop data import 성능 테스트 ( 압축 , parquet ) [테스트 실패 진행불가] sqoop , compress , parquet , textplain 을 사용하기 위한 테스트를 진행하기로 했다. 현재 프로젝트중인 고객사에서 사용하기로 한 snappy와 parquet에 대한 테스트를 위해서 해당 내용을 작성한다.사용할경우 안할경우를 비교하기위해서 총 4가지의 케이스를 테스트한다. MAIN Server 환경 : - CPU : 2CPU (2Socket 24Core)- RAM : 256GB- HDD : PCX용 SSD + SATA HDD 조합 (hadoop, oracle data가 SATA HDD에 존재)테스트상 Disk I/O가 영향이 많이가기때문에 이 내용도 기록함 - HDD는 전부 5400RPM - 버퍼 64MB , WD사의 데이터 저장용 HDD임.- SSD는 PCI-E 에 장착하는 .. 더보기
sqopp import format 별로 저장 sqoop 으로 hadoop 으로 넣을경우 4가지 파일 포멧 리스트 * Oracle 에 있는데이터를 Hadoop 으로 옮겨넣을때 그동안은 실시간으로 넣어야해서 flume을 썼는데 배치성으로 도는 작업등은 flume까진 필요없었다. 지금 들어와있는 프로젝트에서는 sqoop 을 사용 해서 데이터를 hadoop으로 넣는 작업을 진행했다. sqoop 은 크게 어려움은 없었으며 쉘상에서 명령어의 사용을 통해서 데이터를 전송해서 사실 개인적으로 사용하기 많이 편했다. 단지 플럼처럼 커스터마이징이 될지는 아직 모르는 상태. 원본은 ORACLE 상에 일반 HEAP TABLE 이다. 테스트용 테이블을 만들고나서 임시로 1,000 건의 데이터를 넣었다. CREATE TABLE HDFS_4 ( ID VARCHAR(100),.. 더보기
Nexus 2.13 배포 기본 환경 구성 집에 맥, 맥북 , 그리고 윈도우 PC, 서피스 4 PRO, 일반 윈도우 노트북이 있다.자랑은 아니고;;;;;전산쟁이 자랑할건 아니다. 단지~ 자바로 이것저것 만들때 여기서 했다 저기서했다 할때 이것들을 소스 형상관리를 통해서도 관리를 할수있겠지만 일단 아예 배포까지 공통에서 관리하고자 넥서스를 설치하기로 한다. 내가 운영하는 Vm중 한곳에 nexus를 설치하고 여기서 관리하기로 한다. 그에대한 기록을 하며 혹시라도 까먹을 자바쪽의 Dog같은 환경설정에 스트레스를 안받기 위함!!! 넥서스 다운로드 경로 : http://www.sonatype.org/nexus/downloads/다운받을때 보면 2016년 7월 오늘자로 보면 OSS 3.xx가 있었다.하아~~ 내가 이걸설치를 하고나서 띄우니까 아우~ 이름과 .. 더보기
storm Hello World Storm 을 소개하는 글을 보면 보통 실시간 데이터 처리용 이라고들 하더라.아무튼 어찌되었든 쓰긴할것처럼 보여서 일단 Hello World 찍어보고 .기본사용법만 익혀본다. 완전 java 로 만들어져있는것처럼 다른 opensource 마냥 무언가 application 을 설치하는 형태라고 보긴 모호한것같다. 사용 버전 : 0.9.6 사용노드 수 : 6대 ( 1 : nimbus , 5 : supervisor )주키퍼 버전 : 3.4.6 (원래쓰던거임으로 ~ 일단 이건 패스) 수정한 설정파일 내역주키퍼설정, 디렉토리 , 호트 , 슬롯포트 정도만 넣었다.conf 디렉토리의 storm.yaml 파일만 수정하고 모든 노드에 동일하게 적용. ########### These MUST be filled in for .. 더보기