HowTo, Linux

AWS Kinesis

이 글은 AWS Kinesis 이 무엇인지에 대한 개념적인 글입니다. 다음의 자료를 기반으로 작성되었습니다. Introducing Amazon Kinesis (SlideShare) Introduction to Amazon Kinesis (Youtude) Big Data 인터넷의 발전으로 인해서 하루에도 계산하기 힘든 데이터가 쏟아집니다. 과거와는 달라진 이러한 환경을 우리는 간단히 Big Data 시대라고 하지요. 어찌보면 과거에도 Big Data 는 있었지만 요즘과 구별되는 것은 누구든지 Data 를 생산할 수 있다는데에 있습니다. 그러다보니  과거와는 다르게 쏟아지는 데이터를 분석해서 유의미한 데이터를 뽑아내는 기술이 필요하게 되었는데 이게 바로 Big Data 의 진정한 의미 중에 하나 입니다. 누구나 생산해내는 […]

DevOps, Linux

SaltStack 시작하기.

이 글은 SaltStack 시작하기 에 관한 글입니다. SaltStack 은 자동화 시스템 관리 프로그램입니다. 서버의 설정파일, 패키지 관리, 시스템 명령어등을 한번에 많은 서버에 할 수 있습니다. Chef, Puppet 등과 동일합니다. 단지 이 녀석은 Python 으로 개발이 되었고 역활을 지시하는 sls 파일 문법이 YAML 이며 Jina Template 을 이용해서 sls 에 프로그래밍을 할 수 있습니다. SaltStack 은 서버와 클라이언트로 모델입니다. 서버역활을 담당하는 SaltStack 을 마스터(Master)라고 하고 클라이언트 역활을 담당하는 SaltStack 을 하녀(Minion)이라고 부릅니다. 마스터의 경우 파일 전송을 할 수 있게 파일서버역활도 같이 […]

HowTo, Linux

서로 다른 RabbitMQ 버전으로 Cluster 구성 테스트.

RabbitMQ 는 인기있는 메시지 브로커 입니다. 비동기 메시지를 다루는데 있어서 RabbitMQ 는 많이 사용되어 집니다. 거기다 RabbitMQ 는 여러 RabbitMQ 를 하나로 묶는 Cluster 기능을 제공합니다. 그런데, 언제나 그렇지만, 서로다른 RabbitMQ 버전끼리 하나로 묶을 수 있을까하는 의문이 들었습니다. 테스트를 해보았습니다. 환경 세팅 master, slave 라 불리는 2개의 서버를 준비했고 각각 3.5.4 버전과 3.1.5 버전을 설치했습니다. 모든 버전은 Epel 저장소에서 RPM으로 설치를 했습니다. 그리고 다음과 같이 RabbitMQ 를 설정했습니다. master 의 쿠키 파일를(/var/lib/rabbitmq/.erlang.cookie) slave에 복사했습니다. 양쪽모두 호스트네임을 /etc/rabbitmq/rabbitmq-env.conf 에 지정해줬습니다.

[…]

HowTo, Linux

RabbitMQ 통계 보기.

RabbitMQ 는 AMQP 를 지원하는 Message Queue 프로그램 입니다. 여러 솔루션에서 함께 쓰이고 있는 매우 인기있는 프로그램입니다. 언제나 그렇지만 RabbitMQ 또한 각종 통계자료를 제공 합니다. 이를 통해서 RabbitMQ 건강상태를 체크할 수 있습니다. 이 문서는 이에 대해 간략히 다룹니다. 통계정보를 보는 방법으로는 CLI 를 통해서 볼 수도 있지만, 웹을 통해서 GUI 환경에서 쉽게 볼수 있습니다. 이를 위해서는 GUI Management Plugin 을 활성화해줘야 합니다.

이렇게 하면 웹브라우저를 통해서 RabbitMQ 를 관리할 수 있으며, 간략한 통계정보를 볼 수 있습니다. 이 통계정보를 이해하기 […]

Database, PostgreSQL

읽기전용 PostgreSQL 튜닝.

이 문서는 읽기전용 PostgreSQL 서버를 대상으로 하는 튜닝 경험에 대해서 정리한 것입니다. 환경 테스트된 서버 환경은 다음과 같습니다. CPU: Inter(R) Xeon(R) CPU E5606@2.13GHz * 2 RAM: 32GB HDD: SAS 450GB OS: Linux PostgreSQL: 9.2 이 서버는 하루에 한번 덤프된 PosgreSQL 데이터를 전송받아서 Restore 하고 읽기전용, 그러니까 SELECT 쿼리만 사용 합니다. Linux 튜닝 리눅스 튜닝에 핵심은 공유메모리, 최대 열수 있는 파일수, 메모리관련 커널 파라메터들 입니다. 이는 최대 물리 메모리에 영향을 받습니다. 공유메모리 리눅스의 최대 공유메모리는 다음과 같은 계산으로 세팅이 가능합니다. 단, […]

HowTo, Linux

git 파일 삭제후 복구.

git 를 사용하다 보면 local 저장소에서 실수로 파일을 삭제하는 실수를 저지를 수 있다. 이때 파일을 되살린다고 ‘git pull’ 이나 ‘git fetch’를 해봐도 나오는 메시지는 최신판(Already up-to-date)라는 것이다. 이를 이용하는 경우에 어떻게 해야하나? 먼저 삭제한 디렉토리로 이동한다. 그리고 다음과 같이 입력을하면 삭제한 파일 목록을 얻을 수 있다.

사실 삭제된 파일은 다시 checkout 받으면 된다. 다음과 같이 말이다.

리눅스를 잘 다루는 사람이라면 이것을 한번에 할수 있다.

     

Uncategorized

차량 정비 할 것들

연료필터 카트리지 – 점검해서 교체해야겠다면 해주시면 됨. 아무 유상이라고 들었는데, 돈 낼 의향있음. 브레이크패드 점검, 브레이크액 점검 – 점검 바랍니다. 급정거할때 조금 밀리는듯 하기도 하던데, 부품교체 않하고도 뭘 조정하면 되는건지… 마스터 실린더 압력 세나? 트렁크 쇼바 – 잘 안올라감. 다른 분과 비교해봐도 문제 있음 트렁크 재진패드 – 이건 전에 이슈가 되었는데 정비받지 않았음. 엔진떨림(엔진미미) – 거기다 엔진미미 개선품 나온거 알고 있음. 그리고 문제가 있는게 정차, 저속과 약간 오르막에서 떨림 많음 있음. 저속에서 차량 긁는 소리도 간혹 들림. 토션빔 점검(타이어 편마모) […]

Linux

Thread

이 문서는 Perl Thread 문서를 기반으로 작성되었습니다. Thread 의 기초부터해서 Thread의 구현을 Perl, Python 으로 직접 구현해보고 비교하도록 하겠습니다. 출처: http://www.xav.com/perl/lib/Pod/perlthrtut.html Thread? 쓰레드(Thread)는 프로세스(Process)보다 작은 프로그램 단위 입니다. 좀 더 정확하게 말하자면 프로그램은 적어도 한개의 프로세스로 구성되며 적어도 하나의 쓰레드로 구성됩니다. 적어도 하나의 프로세스에서 하나의 쓰레드는 결국 하나의 실행 포인트를 가집니다. 적어도 하나의 프로세스내에서 다중 쓰레드를 쓴다는 것은 결국 다중의 실행 포인트를 가진다는 것을 의미 합니다. 다중의 실행 포인트? 요즘에 멀티코어(Multi Core) CPU가 많이 나옵니다. 프로그램은 이 멀티코어 CPU에 의해서 실행되는데 […]

Power User

LG 노트북 P420-KE45K 하드디스크 교체기

4년전쯤에 노트북이 필요해서 둘러보던중에 14인치 노트북을 구매했습니다. LG 에서 나온 노트북인데,  i5(샌디브릿지), 4GB RAM, 640GB, 블루투스, Wifi 인터넷등 필요한 기능이 다 있으면서도 13인치 폼팩터에 화면크기는 14인치라서 휴대성도 높을거 같아서 구매했습니다. 제게 시간이 지났어도  이만한 노트북을 다시는 볼수 없더군요. (뭐.. Dell XPS13 도 있지만 13인치는 너무 작아서…)   그런데, 이 녀석의 단점이 하나 있습니다. 바로 HDD 교체가 힘들다는 겁니다. 대부분의 노트북은 뒷판에 일부분을 열어서 교체할 수 있도록 되어 있지만, 이 노트북은 뒷판에 나사를 풀고 키보드 상판을 뜯어야 합니다. 문제는 상판을 아주 시원하게 […]

Database, PostgreSQL

튜플(Tuple) 과 백쿰(VACUUM)

PostgreSQL 은 다른 데이터베이스 시스템은 테이블(Table)에 데이터를 레코드(Record) 혹은 로우(Row)라고 한다. 그런데, PostgreSQL 에서는 튜플(Tuple)이라는 것이 존재합니다. 이 튜플은 PostgreSQL 에서 매우 중요한 요소 입니다. 이에 대해서 간략하게 알아 보도록 하겠습니다. 통계정보 확보. 먼저 이 튜플을 알기 위해서는 PostgreSQL 이 제공하는 통계정보를 알아 볼 필요가 있다. 이 통계정보에는 로우 갯수와 튜플 갯수등을 볼 수 있고 로우에 변화에 따라서 이들이 어떻게 변하는지를 추적할 수 있으며 이를 토대로 튜플이 과연 무엇인지를 알 수 있게 된다. 샘플 테이블을 만들자.

그리고 샘플 데이터를 […]