본문 바로가기
infra/Kafka

[kafka] 아파치 카프카 설치하기 with zookeeper

by hjhello423 2019. 12. 9.

CentOS 환경에서 카프카를 설치해 보도록 하겠다.

kafka를 설치하려면 kafka의 클러스터를 관리해주는 Zookeeper도 같이 설치해 주어야 한다.

그리고 java 가 설치되어 있어야 하므로 openJDK를 미리 설치해 주도록 하자.

 

아래 링크에서 각각의 설치 파일을 다운로드 하자.

카프카 다운로드 링크 : https://kafka.apache.org/downloadskafka_2.12-2.3.1.tgz

 

wget을 이용하여 다운로드하고 압축을 풀어주자.

[itsme@localhost ~]$ tar xzf kafka_2.12-2.3.1.tgz 
[itsme@localhost ~]$ cd kafka_2.12-2.3.1/
[itsme@localhost kafka_2.12-2.3.1]$ ll
total 52
drwxr-xr-x. 3 itsme itsme  4096 Oct 18 09:12 bin
drwxr-xr-x. 2 itsme itsme  4096 Oct 18 09:12 config
drwxr-xr-x. 2 itsme itsme  4096 Dec 10 00:10 libs
-rw-r--r--. 1 itsme itsme 32216 Oct 18 09:10 LICENSE
-rw-r--r--. 1 itsme itsme   337 Oct 18 09:10 NOTICE
drwxr-xr-x. 2 itsme itsme    44 Oct 18 09:12 site-docs

 

bin 디렉터리 하위에 있는 주키퍼를 실행시켜 주자.

[itsme@localhost kafka_2.12-2.3.1]$ ./bin/zookeeper-server-start.sh config/zookeeper.properties

마지막 라인에 아래와 같은 log가 남는다면 정상적으로 실행된 것이다.

[2019-12-10 00:11:52,164] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)

 

이제 카프카도 실행시켜 보자.

[itsme@localhost kafka_2.12-2.3.1]$ ./bin/kafka-server-start.sh config/server.properties 

 

주키퍼 포트 확인

[itsme@localhost kafka_2.12-2.3.1]$ netstat -ntlp | grep 2181
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::2181                 :::*                    LISTEN      1689/java

 

카프카 포트 확인

[itsme@localhost kafka_2.12-2.3.1]$ netstat -ntlp | grep 9092
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::9092                 :::*                    LISTEN      2070/java

 

 

여기까지 왔으면 이제 토픽을 만들어 보도록 하자.

[itsme@localhost kafka_2.12-2.3.1]$ ./bin/kafka-topics.sh --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic-test1 --create
Created topic topic-test1

 

생성한 토픽 리스트를 확인해보자.

[itsme@localhost kafka_2.12-2.3.1]$ ./bin/kafka-topics.sh --list --zookeeper localhost:2181
__consumer_offsets
topic-test1

 

 

메시지를 만들어 보자.

[itsme@localhost kafka_2.12-2.3.1]$ ./bin/kafka-console-producer.sh --broker-list localhost:9092 -topic topic-test1 
>this is test 1
>this is test 1 1

 

이제 컨슈머에서 해당 토픽의 메시지를 읽어보자.

[itsme@localhost kafka_2.12-2.3.1]$ ./bin/kafka-console-consumer.sh  --bootstrap-server localhost:9092 --topic topic-test1 --from-beginning
this is test 1
this is test 1 1 

 

 

 

 

 


링크

 

반응형

'infra > Kafka' 카테고리의 다른 글

[Kafka] 아주 기초적인 Kafka 톺아보기  (0) 2022.04.10
[kafka] 스프링부트와 kafka 연동  (0) 2019.12.11

댓글