Portfolio/Kafka & Spark

kafka 설치하기 - (5) 토픽 생성 & producer, consumer 예제 실행

시작의 의미 2020. 11. 1. 17:07

해당 서비스를 만드는 것에 대해 전부 다 이해하고 넘어가는 방식이 아닌 일단 손으로 해본다.

그리고 그 다음에 하나하나씩 이해하는 방법으로 진행한다.

 

토픽이 뭔진 몰라도 뭐 어쩌란 건진 몰라도 일단 내 손으로 해본다.가 핵심이다.

 

1. 토픽 생성하기

 

무슨 이유인지는 모르겠는데

토픽을 생성하니 네트워크 설정이 빠져버렸다.

 

뭔지는 모르겠지만 일단 생성된 토픽을 확인하니 제대로 생성된 걸 확인 할 수 있다.

 

2. 컨슈머와 프로듀서를 먼저 실행하기 앞서 일단 이게 뭔지에 대해 설명을 더 붙이겠다.

 

맞는지 틀린지는 모르겠지만 일단 이런식으로 생각한다면 대충 뭔 말인지는 이해 할 수 있을 것 같다.

물론 무조건 정확하지 않다.

 

이제부터 터미널이 2개 필요하다.

프로듀서 터미널

컨슈머 터미널

 

PUTTY로 터미널을 2개 띄워준다.

 

프로듀서용 터미널

이전에 백그라운드로 켰던 서비스가 정상적으로 동작하고 있으면 > 이런식으로 프롬프트가 떨어진다.

 

동일하게 컨슈머도 켜준다.

어 뭐지 컨슈머가 동작을 하지 않는다.

어디에서 막고 있는게 있을 수 있다.

 

firewalld가 범인이었다. 이걸 꺼준다.

제발 되야 할텐데

 

뭔가 에러가 났다.

 

뭐가 문제일지 모를때는 일단 reboot

 

vm 재시작 중...

##################


아까 백그라운드로 켜놓았던 서버가 죽었던 모양이다.

다시 서비스를 시작해주면

 

이렇게 입력을 해주면.
이렇게 나타난다.

 


What is insight?

 

해당 시스템은 kafka에서 제공하는 가장 쉬운 형태에서 최대한 코드를 사용하지 않아도 사용할 수 있도록 만들어준 예제이다. 

 

이걸 발전시킨다고 하면 kafka와 프로듀서와 컨슈머가 각각 별대의 vm에서 동작을 하고 있고 프로듀서는 크롤러의 역할로 컨슈머는 해당 토픽들을 한 곳에 모아서 중앙처리하는 방식으로 빅데이터를 개더링, 프로듀싱 하는 것을 할 수 있을거라 생각이든다. 

 

회사에서 어떤 사업에 관련하여 해당 것을 이용하여 프로토타이핑을 간단히 해보라고 해서

 

해당 kafka라는 것을 이름만 안 상태에서 시작한 예제였다. 이것을 어떻게 활용을할지?

이 것을 어떻게 설계 할지는 이 다음의 고민일 것 같다.

 

모를 때는 일단 따라 해보자.