반응형

안녕하세요 가야태자 @talkit 입니다. 

오늘은 카프카라는 프로그램을 설치 해보겠습니다. 

카프카에 대한 설명은 조금 안바빠지면 달고, 까먹지 않도록 카프카를 설치 하는 과정을 글에 담을 예정입니다. 

그래도 간단하게 카프카를 이야기 하면,

소스와 타겟을 연계해주는 프로그램 또는 링크드인에서 개발한 Message Queue 정도로 생각 됩니다. 

Apache Kafka 카프카는 아파치의 메인 프로젝트 중에 하나 입니다. Linkedin에서 개발 후에 아파치 재단에 기부 했습니다. 

그럼 본격적으로 설치를 시작 해보겠습니다. 

Java가 리눅스에 설치 되어 있다고 생각하고 설치를 시작 하겠습니다.

 

https://kafka.apache.org/quickstart

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

저는 우선 저문서를 보고 따라해 보겠습니다. 

그런데 약간 변경 해야할 부분이 있어서 변경 하면서 진행 하겠습니다. 

카프카를 다운로드 해야 하는데 저기서는 최신 버전을 다운로드 하고 있습니다. 

제가 다운로드 해야할 버젼은 2.13-3.40 이라서 위에서 현재 링크 걸려 있는 링크를 변경 해야 합니다. 

https://kafka.apache.org/downloads

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

위 페이지로 이동 합니다. 

Scala의 버전이 뭔지는 모르겠지만, 설치 해야 할 버전이 2.13 즉 앞에 것이고 뒤에 것이 실질적으로 카프가 버전 입니다. 

3.4.0

Kafka 3.4.0 includes a significant number of new features and fixes. For more information, please read our blog post and the detailed Release Notes.

위 부분에 있는 두번째 파일을 다운로드 합니다. 

cd /opt
mkidr kafka
cd kafka
wget https://archive.apache.org/dist/kafka/3.4.0/kafka_2.13-3.4.0.tgz

저는 /opt 폴더에 요즘은 설치를 하고 있스니다. 예전에는 /usr/local 에 설치를 많이 했었습니다. 

다운로드 끝났으면 다운로드 받은 파일을 압축을 해제 합니다. 

tar xzvfp kafka_2.13-3.4.0.tgz

압축이 잘 해제 되었으면

해당 폴더로 이동 합니다. 

cd kafka_2.13-3.4.0
 # Start Zookeeper
 bin/zookeeper-server-start.sh config/zookeeper.properties

주키퍼를 우선 실행 합니다. 

실행 방법은 위에서 두번째 줄을 복사 붙여 넣기 하시면 됩니다. ^^

위아 같이 실행 하시면 실행은 됩니다만, 해당 창을 계속 띄워 두고 있어야 합니다. 

우선은 띄우두고 ^^

카프카를 실행 해보겠습니다. 

새로운 콘솔창을 하나 더 여십시오 Putty로 한번더 연결 하셔도 됩니다. 

cd /opt/kafka/kafka_2.13-3.4.0

# Start Kafka
bin/kafka-server-start.sh config/server.properties

요렇게 하시면 잘 실행이 될 것입니다. 

단, 디렉토리는 직접 설치한 디렉토리로 이동 하셔야 합니다. 

창을 하나 띄워서 간단하게 실제로 카프카에 토픽을 하나 만들어 보겠습니다. 

그리고, 오늘 글은 마치도록 하겠습니다. 

cd /opt/kafka/kafka_2.13-3.4.0
# Create topic
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

위와 같이 토픽을 만드실 수 있습니다. 

이번에도 Putty를 그대로 두시고 새 Putty를 여서서 접속 하신 다음에 위 명령어를 입력해 주셔야 합니다. 

저는 순서대로 실행 했더니 ^^

Created topic quickstart-events.

위와 같은 결과가 나왔습니다.

이왕 토픽을 만들었으니, 토픽 리스트도 한번 보겠습니다. 

# Show topic information
bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092

위 명령어를 입력 했더니 아래와 같이 잘 실행 되었습니다. 

Topic: quickstart-events        TopicId: N8Ymu4GGTNiCgSp63YK_cw PartitionCount: 1       ReplicationFactor: 1    Configs:
        Topic: quickstart-events        Partition: 0    Leader: 0       Replicas: 0     Isr: 0

앗 위에서 설명 드린다고 한 것을 하나 못한게 있어서 

이어서 작성 하겠습니다. 

우선, 여러분들이 띄워 둔 zookeeper, kafka 실행 창을  콘트롤(Ctrl) + C 키를 눌러서 중단 하십시오.

systemctl형식으로 만들어도 좋습니다. 

하지만, 이번에는 그냥 백그라운로드로 실행하는 방법을 알려 드리겠습니다. 

 cd /opt/kafka/kafka_2.13-3.4.0
 # Start Zookeeper
nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
 
 # Start Kafka
nohup bin/kafka-server-start.sh config/server.properties &

위와 같이 실행 하시면 됩니다. 

아까는 중단 할 때 콘트롤(Ctrl) C를 이용해서 했는데 백그라운드로 떠있는 아이들은 어떻게 죽이나요?

종료 하는 방법은 켜실때와 반대로 카프카 먼저 죽이고,

주키퍼를 죽이는 것이 좋습니다. 

cd /opt/kafka/kafka_2.13-3.4.0
#Stop kafka
bin/kafka-server-stop.sh

#Stop zookeeper
bin/zookeeper-server-stop.sh

위 명령어를 수행 해서 죽일 수 있습니다. 

[2]+  Exit 143                nohup bin/kafka-server-start.sh config/server.properties
[1]+  Exit 143                nohup bin/zookeeper-server-start.sh config/zookeeper.properties

백그라운드로 실행 되었던 2가지 명령어가 종료 된 것을 볼 수 있습니다. 

감사합니다. 

 

 

반응형

+ Recent posts