반응형

node-red를 활용하여 3개의 topic을 만들고 각각의 토픽에 랜덤 변수를 5초간격으로 송, 수신하는 node-red를 만들어라.

 

## 이전 포스트를 보고 kafka가 설치 되어있어야 한다.

 

 

https://nodejs.org/ko/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

설치.(stable버전)

 

https://flows.nodered.org/node/node-red-contrib-kafka-manager

 

node-red-contrib-kafka-manager

Node-RED implements Kafka manager with associand associated .

flows.nodered.org

 

$ npm install kafka-node

 

 

<kafka내장 주키퍼로 시작>

$ zookeeper-server-start.sh -daemon /root/kafka/config/zookeeper.properties

$ yum install telnet
<엑세스 여부 확인>
$ telnet localhost 2181

<기본속성으로 kafka를 시작>
$ kafka-server-start.sh -daemon /root/kafka/config/server.properties

<9092 확인>

$ telnet localhost 9092

<샘플 주제를 만든다>

$ kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic1
$ kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic2
$ kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic3

<작성된 주제 나열>

$ kafka-topics.sh --zookeeper localhost:2181 --list

#topic 1,2,3뜨면 됨

구성은 이렇게 해봤고, 

 

node-red에서 최초 inject를 잡아주고, 그다음 필요한 각각의 input을 넣어 프로세스를 잡아준다. 최종적으로 kafka_producer로 향하게 노드를 그린다.

 

# 설정은 필요에 따라 다르게 하고, Topic부분에 아까 써줬던 topic1,2,3을 각각 잡아주고

 

broker부분에 연필모양을 눌러서 hosts를 vm으로 잡아준다. (192.168.56.1 : 9092)

 

그리고 전송이 잘 되었는지 확인 하기 위해 debug consol을 활용하여 로그를 확인한다.

 

마지막으로 producer와 같이 consumer를 생성한뒤, 각각의 토픽명들을 적어주고, 브로커를 똑같이 잡아주고, 콘솔도 추가해준다. 

 

마지막으로 deploy를 눌러 시작하고 오른쪽의 debug를 눌러 로그를 확인한다.

 

기호에 따라 inject부분에 interval을 줘서 계속 데이터가 들어오는지 확인한다.

 

끝.

반응형

'설치,명령어등 > 카프카' 카테고리의 다른 글

kafka 테스트/실습  (0) 2022.03.04
kafka 설치/  (0) 2022.03.02

+ Recent posts