본문 바로가기

미분류/Hadoop

Hadoop - Kafka 설치하기

♥ Apache Kafka

- pub-sub 모델의 Message Queue, 분산환경에 특화되어 있다.
- 시스템 확장이 용이하다
- 메시지를 메모리에 저장하지 않고 파일 시스템에 저장한다.

1. 환경

- Kafka 2.2

- Hadoop 2.9.2

- Zookeeper 3.4

Kafka는 Zookeeper를 이용해 메시지를 보내므로 설치되어있지 않다면 꼭 설치하도록 한다. Kafka 자체에서 싱글노드 Zookeeper를 제공하긴하지만 난 클러스터링을 이미 해줬으므로 진행하지 않았다. 근데 궁금한건 Zookeeper는 홀수로 구성되어 있어서 설치하지 않은 애도 있는데 얘네는 어떻게 해야되나.

2. 설치

(1) Kafka 미러 사이트에 가서 2.2를 다운받는다. 고마우신 네이버님에게 받았다. (링크)

(2) 설정 이후 배포할 것이기 때문에 한 곳에 받아준다.

(3) Zookeeper가 없거나, 싱글 노드로 구성된 하둡이라면 카프카의 퀵 스타트에 들어가서 그들말로 no fun 하다는 과정을 진행한다. 

(4) 설정 파일을 만든다.

(5) 받은 메세지를 저장할 디렉터리를 만들어준다. 따로 만들어주는게 좋겠지만 테스트용이니 카프카 아래에 내려줬다.

(6) 하둡 이것저것 깔아봤는데 config 파일의 주석을 보면 신기하게도 만든 이들의 성격이 보인다. 

zookeeper.connect 부분의 포트는 zoo.cfg에서 client port와 맞춰줘야 한다.

broker.id=3
listeners=PLAINTEXT://(이름):9092
advertised.listeners=PLAINTEXT://slave02:9092
log.dirs=/home/centos/kafka_2.12-2.2.0/data
zookeeper.connect=master:2181,slave01:2181,slave02:2181

(7) 이후 배포해준다.

 scp -r kafka_2.12-2.2.0 root@master:/home/centos/

(8) config 파일을 수정해준다. 텍스트 대치를 사용하면 편하다.

(9) 이제 실행해본다.

./kafka_2.12-2.2.0/bin/kafka-server-start.sh kafka_2.12-2.2.0/config/server.properties

지정한 broker id가 뜨면서 실행되는 것을 확인할 수 있다.

(10) 토픽을 생성해본다.

 ./kafka_2.12-2.2.0/bin/kafka-topics.sh --create --zookeeper master:2181 slave01:2181 slave02:2181 --replication-factor 3 --partitions 1 --topic test

생성된 토픽의 리스트도 확인해본다.

 ./kafka_2.12-2.2.0/bin/kafka-topics.sh --list --zookeeper master:2181, slave01:2181, slave02:2181

(11) 메세지를 생성해본다.

./kafka_2.12-2.2.0/bin/kafka-console-producer.sh --broker-list master:9092, slave01:9092, slave02:9092 --topic test

(12) 들어온 메시지를 확인한다.

 ./kafka_2.12-2.2.0/bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic test --from-beginning

원래라면 시작이후 메시지를 받는거지만 난 한 명이니까 이전에 왔던 메시지를 확인하게 --from-beginning 옵션을 준다.

메시지를 잘 받는것을 알 수 있다 ~ !

이제 Sqoop만 하면 끝

'미분류 > Hadoop' 카테고리의 다른 글

NiFi 활용기 ) Oracle과 Hive 연결 (실패기)  (0) 2019.04.18
NiFi 활용기 ) NiFi와 Oracle 연동하기  (0) 2019.04.17
Hadoop - Oozie 설치하기  (0) 2019.04.10
Hadoop - Zookeeper 설치하기  (0) 2019.04.10
Hadoop - Pig 설치하기  (0) 2019.04.09