CentOS 환경에서 카프카를 설치해 보도록 하겠다.
kafka를 설치하려면 kafka의 클러스터를 관리해주는 Zookeeper도 같이 설치해 주어야 한다.
그리고 java 가 설치되어 있어야 하므로 openJDK를 미리 설치해 주도록 하자.
아래 링크에서 각각의 설치 파일을 다운로드 하자.
카프카 다운로드 링크 : https://kafka.apache.org/downloads, kafka_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
링크
- https://devtimes.com/bigdata/2019/01/25/kafka-cluster/
- https://yookeun.github.io/kafka/2018/07/01/kafka-install/
- https://www.popit.kr/kafka-%EC%9A%B4%EC%98%81%EC%9E%90%EA%B0%80-%EB%A7%90%ED%95%98%EB%8A%94-%EC%B2%98%EC%9D%8C-%EC%A0%91%ED%95%98%EB%8A%94-kafka/
- https://www.popit.kr/kafka-%ec%9a%b4%ec%98%81%ec%9e%90%ea%b0%80-%eb%a7%90%ed%95%98%eb%8a%94-%ec%b9%b4%ed%94%84%ec%b9%b4-%eb%a7%a4%eb%8b%88%ec%a0%80-%ec%86%8c%ea%b0%9c/
반응형
'infra > Kafka' 카테고리의 다른 글
[Kafka] 아주 기초적인 Kafka 톺아보기 (0) | 2022.04.10 |
---|---|
[kafka] 스프링부트와 kafka 연동 (0) | 2019.12.11 |
댓글