일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Baekjoon
- 금융문자분석경진대회
- leetcode
- 자연어처리
- 편스토랑
- hackerrank
- SW Expert Academy
- 우분투
- Docker
- Kaggle
- 데이콘
- gs25
- 프로그래머스
- ChatGPT
- dacon
- 편스토랑 우승상품
- programmers
- 캐치카페
- 코로나19
- AI 경진대회
- 파이썬
- 백준
- Real or Not? NLP with Disaster Tweets
- 맥북
- 프로그래머스 파이썬
- github
- ubuntu
- Git
- 더현대서울 맛집
- PYTHON
- Today
- Total
솜씨좋은장씨
[Kafka] Mac에 카프카 설치하고 실행해보기! 본문
👨🏻💻 설치파일 다운로드
먼저 위의 링크로 이동합니다.
해당 링크로 이동하면 보이는 페이지에서 위의 사진에서 주황색 블록 위치의 값을 복사합니다.
아래의 방법 중 원하는 방법으로 다운로드를 진행합니다.
만약 wget을 활용하고 싶다면
2021.05.04 - [유용한 정보/APPLE] - [MAC] 맥북 터미널에서 wget 설치하여 사용하는 방법! ( feat. HomeBrew)
위의 링크를 참고하여 wget을 먼저 설치하기 바랍니다.
📃 curl 명령어 활용하여 다운로드
$ curl -O [복사한 주소]
$ curl -O https://mirror.navercorp.com/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
📃 wget 명령어 활용하여 다운로드
$ wget [복사한 주소]
$ wget https://mirror.navercorp.com/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
👨🏻💻 파일 압축해제
$ ls
kafka_2.13-2.8.0.tgz
먼저 ls 명령어를 통해 파일이 제대로 다운로드 되었는지 확인해봅니다.
위처럼 tgz 파일이 잘 있다고 하면 해당 파일의 압축을 풀어줍니다.
$ tar xvf kafka_2.13-2.8.0.tgz
위의 명령어를 통해 압축을 풀게되면 .tgz를 제외한 이름으로 폴더(디렉토리)가 하나 생길겁니다.
$ ls
kafka_2.13-2.8.0.tgz kafka_2.13-2.8.0
다시 ls 명령어를 통해 보면 .tgz를 제외한 이름으로 폴더(디렉토리)가 생성되어있는 것을 확인할 수 있습니다.
👨🏻💻 Zookeeper 실행
$ cd kafka_2.13-2.8.0
이제 생성된 kafka_2.13-2.8.0 폴더(디렉토리)로 이동합니다.
$ bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
그 다음 위의 명령어를 통해 백그라운드에서 zookeeper 가 실행 되도록합니다.
👨🏻💻 Kafka 실행
$ bin/kafka-server-start.sh -daemon config/server.properties
이번에는 Kafka를 실행합니다.
잘 실행되었는지 확인은 netstat 명령어를 통해 진행하면됩니다.
$ netstat -an | grep 2181
tcp46 0 0 *.2181 *.* LISTEN
netstat 명령어를 통해 나온 결과가 위와 같이 나오면 잘 실행된 것입니다.
👨🏻💻 Kafka 토픽 생성 및 확인
$ bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
Created topic quickstart-events.
위의 명령어를 통하여 토픽을 생성합니다.
생성 옵션은 다음과 같습니다.
--create : 생성
--topic : topic 명
--bootstrap-server : 연결한 카프카 서버 주소
--partitions : 생성하는 토픽의 파티션 수
--replication-factor : 생성하는 토픽의 각 파티션의 replication-factor 개수
만약 topic이 제대로 생성되지 않고
[2021-09-01 13:54:26,904] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2021-09-01 13:54:27,025] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2021-09-01 13:54:27,128] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2021-09-01 13:54:27,432] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
위와 같은 오류가 발생할 때에는 아래의 링크를 참고해주세요!
$ bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
카프카 topic이 잘 생성되었는지 확인은 위의 명령어를 통해 확인합니다.
Topic: quickstart-events TopicId: kppV-lRkRFuAl2Kk5DICHA PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: quickstart-events Partition: 0 Leader: 0 Replicas: 0 Isr: 0
위와 같이 정보가 나오면 제대로 생성이 된 것입니다.
👨🏻💻 Producer 실행
$ bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
위의 명령어를 실행하면
>
위처럼 입력할 수 있도록 바뀝니다.
>SOMJANG FIRST MESSAGE
>SOMJANG SECOND MESSAGE
>SOMJANG THIRD MESSAGE
각 > 라인 한줄 한줄이 하나의 메세지가 됩니다.
👨🏻💻 Consumer 실행
이번엔 Consumer 입니다. Producer를 실행하고 있는 터미널이 아닌 새로운 터미널을 열어줍니다.
$ bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
새로운 터미널에서 위의 명령어를 입력하면
SOMJANG FIRST MESSAGE
SOMJANG SECOND MESSAGE
SOMJANG THIRD MESSAGE
아까 Producer에서 입력한 메세지가 주르륵 출력되는 것을 볼 수 있습니다.
이후에 계속 Producer에 메세지를 입력하면
입력한 순서대로 Consumer에서 보여지게 됩니다.
앞으로 Kafka와 Python을 활용해 개발을 진행해보려합니다.
읽어주셔서 감사합니다.
'Programming > Kafka' 카테고리의 다른 글
[Kafka] could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient) 해결 방법 (4) | 2021.09.01 |
---|