메타 데이터를 저장하기 위해 Mysql 테이블을 만들다 보니, 복합키로 PK를 설정해야할 때가 있었다. 그래서 실행을 하니 다음과 같은 에러가 났다. Multiple primary key defined 음.. 원인을 찾아보니 Auto Incremental등 다양한 원인이 될 수 있다고 하여 다음과 같이 변경하니 동작하였다.원인은 차차 살펴보기로 하고.. 일단 되는 쿼리부터 변경 전 -- collector instance child table 생성문DROP TABLE IF EXISTS COLLECTOR_INSTANCE_CHILD;CREATE TABLE IF NOT EXISTS COLLECTOR_INSTANCE_CHILD ( collector_id INT AUTO_Increment PRIMARYKEY , p..
OS에서 shell script 운영을 하다보면 관리상의 여러가지 어려움을 겪게 된다. PID / PPID 등 프로세스 관리를 해야 어느 정도 관리가 가능한데, 실상 PID 추출을 위한 구문을 추가해도 Background 실행과 관련한 다양한 환경이 있기 때문에 실질적로는 대응하기 애매한 부분이 있다. PID와 Background에서 실행된 이후에 발행된 PID를 추출하는 간단한 Script를 소개한다. function abc() # wait for some event to happen, can be terminated by other process { sleep 100 } echo "PID: $$" abc & echo "PID: $!" 이렇게 실행하면 Back ground로 실행된 스크립트의 PID를 ..
결혼 이후에 용돈으로 생활하다 보니.. 뭔가 다른 방식의 체크카드의 필요성을 느끼게 되었다. 그 전에 쓰던 것은 하나은행 메카캐쉬백카드! 2만원당 200원을 현금으로 주는 카드라.. 많은 쓰는 날에는 3~5천원 정도를 환급 받아 생각보다 쏠쏠한 카드 였지만.. 이것도 이제 옛날 ㅠㅠ 지금처럼 소액으로 쓰는 패턴에는 맞지 않는 것 같아 물색하다 네이버 페이 카드를 받기로 했다. 조건은 상당히 심플하다. 사용 금액의 1% --> 네이버 페이 적립! 네이버 페이는 쌓아두면.. 네이버 쇼핑이나 웹툰 등 잔돈 쓰는 경우에 상당히 유용하기 때문에... 이것으로 결정하기로 했다. 사전에 네이버 페이 계좌를 연동해둬야 한다. ( 단점은 연동되는 은행이 시중 은행이 다 되지 않기 때문에 확인이 필요하다 ) ( 생각보다 ..
Using Intelij version : 2016.3.4 , JVM 1.8 , Maven 3.3.9 발생에러 : Failed to create a Maven project: '/Users/hellothere/IdeaProjects/core-project-collect/pom.xml' already exists in VFS Module을 추가하려 보니.. 이미 VFS에 있어서 추가가 되지 않는다고 한다.( 미리 추가한 적이 있었나? ) 크게 모듈을 추가하는 방법은 2가지가 있다. POM.xml에 추가 Intelij Module 추가 일단 POM.xml에 넣어도 같은 내용이 뜬다. 음... 문제가 뭔지 잘 이해가 가지 않아 검색을 해보니 Cashe를 지우라는 이야기가 나온다 https://www.jetbr..
Ambari agent version : 2.1.2.1 ambari agent가 다량의 Swap을 사용중이라 OS hang을 유발할 수 있다는 모니터링 내용을 들었다. ( 은근 저 version에 다양한 이유가 많은 듯 하다.. ) 어차피 지속적인 현상이 아니라 간헐적인 경우라 직접 디버깅은 어렵다고 봐야한다..; 관련해서 hortonwoks community에서 검색을 해봤더니 관련한 글이 나온다 https://community.hortonworks.com/content/kbentry/74175/very-high-memory-utilization-by-ambari-agent.html Very high memory utilization by Ambari Agent Short Description:Perf..
환경 : HDP 2.3 ( hive 1.2 , Tez 0.7 ) 대용량 hive on tez shuffle join시에 간혹 socket timeout이 발생한다. 이 부분을 피하기 위해 config를 변경하였지만.. 별로 신통치 않다 dfs.socket.timeoutdfs.datanode.socket.write.timeout 대용량 데이터에 대한 shuffle join이라.. explain을 해보니.. 정말 무지막지한 shuffle이 일어난다( map join이나 다른 join은 데이터 검증에서 실패;; ) 찾아보니 socket timeout에 대한 OS 설정이 있어서 해당 내용을 반영해야 할 것 같다. /proc/sys/net/core/somaxconn : 일반적으로 128 ~ 1024로 설정되어 있..
공통 코드를 보다보니.. ( 익수치 않다보니;; ) 처음보는 Annotation이 눈에 띈다 @SuppressWarnings 뭔가 찾아보니.. Compile시에 warning을 제외시킬 때 사용한다고 한다. 몇가지 더 살펴보면 대표적인게 몇 개 더 있다. @Deprecated : 가급적 사용을 말아 달라는 의미, 일반적으로 상위버젼에서 하위 버젼을 호환할 때, 이제 사용하지 말라는 의미로 많이 사용된다. @SuppressWarning(“”) : 이 부분에 대해 경고를 출력하지 말라는 의미, 옵션을 더 살펴보자 all : 모든 경고 cast : 캐스트 연산자 관련 경고dep-ann : 사용하지 말아야 할 주석 관련 경고deprecation : 사용하지 말아야 할 메서드 관련 경고fallthrough : s..
개요 IoT 및 다양한 Source ( Flow )를 지원 대부분의 수집관련한 Processor를 지원 nifi.apache.org Architecture Cluster / Standalone 모두 구성 가능 : Zero - Master 구성 Master : NCM , Nifi Cluster Manager Slave : Local에 File 저장 ( 분산 및 Replication 확인 필요 ) REST API다양한 API를 제공함 다만 별도의 Nifi ( Cluster ) Server 구성은 부담
ConceptEvent Source to Destination 으로의 전송하는 Flume의 단위String header + byte payload FlowSource to Destination까지의 EventData Flow or Simply flow Client Source에서 Event를 동작시키고 이를 Flume agent로 전달하는 Interface 구현체 Agent Source / Channel / sink와 같은 Flume Component를 가지고 있는 Interface 구현체 Agent들은 이벤트 자체를 Receive , Store 하거나 다음 Agent로 보낼 수 있다. Source Source로 전달된 이벤트들을 소비하는 Interface 구현체Source로 전달된 이벤트는 한개 이상의..