본문 바로가기

Kafka4

[Kafka] docker를 이용해 kafka 환경 구축하기 docker를 이용해 kafka 환경 구축하기 kafka 실습 환경을 구축하면서 docker을 이용하기로 결정했습니다. 이유라 함은 처음 사용해보는 kafka이기에 설치 중 어떠한 오류가 발생할 지 모르기 때문이며, 역시나 여러 오류를 접하면서 docker을 이용하길 잘했다는 생각을 했습니다. zookeeper, kafka image pull 제 클라우드는 arm ubuntu 22.04버전을 사용하고 있습니다. 때문에 zookeeper docker image는 흔히 사용중인 wurstmeister/zookeeper를 이용하지 않았고, 각자 환경에 맞추어 이미지를 받으시면 될 것 같습니다. docker pull arm64v8/zookeeper docker pull wurstmeister/kafka dock.. 2022. 8. 16.
[Kafka] kafka의 console 명령어 Kafka의 console 명령어 kafka를 이용하면서 콘솔에 접근하여 명령어를 내려야 하는 경우 지금까지 자주 사용하던 명령어를 정리하고자 합니다. topic 생성하기 ./kafka-topics.sh --create --bootstrap-server [ip:port] --replication-factor [replication] --partitions [partitions] --topic [topicName] topic을 생성합니다. --bootstrap-server: 카프카 서버의 주소를 입력합니다. --replication-factor: replication의 수를 입력합니다. --partitions: 해당 토픽의 partition 수를 입력합니다. --topic: 해당 토픽의 이름을 지정합니다... 2022. 8. 16.
[Kafka] kafka에 대해 알아보자 - 2 kafka에 대해 알아보자 Partitioner(파티셔너)란? producer가 데이터를 보내면 partitioner를 통해서 브로커로 데이터가 전송됩니다. 파티셔너는 데이터를 토픽의 어떤 파티션에 넣을 지 결정하는 역할을 합니다. 레코드에 포함된 메시지 키 또는 메시지 값에 따라서 파티션의 위치를 결정하는 역할을 합니다. 파티셔너는 메시지 키가 있을 때와 없을 때 다르게 동작하게 됩니다. 만약, 파티셔너를 따로 설정하지 않았다면 UniformStickyPartitioner로 설정됩니다. 메시지 키가 있을 때 메시지 키를 가진 레코드는 파티셔너에 의해서 특정한 해쉬값이 생성됩니다. 이 해쉬값을 기준으로 어떤 파티션에 저장될 지 결정됩니다. 토픽에 파티션이 두개가 있는 경우 동일한 키를 가진 레코드는 동일.. 2022. 8. 15.
[Kafka] kafka에 대하여 알아보자 - 1 kafka에 대하여 알아보자 요즈음 여러 서버개발자 채용공고에 공통적으로 나타나는 기술중엔 kafka가 있습니다. 이전에는 kafka가 message queue라는 것만 알고, 이를 왜 사용하는지 이해하지 못했는데 시간이 난 김에 한번 공부해보려 합니다. kafka란? kafka란 데이터를 제공하는 sourceApplication과 데이터를 이용하는 targetApplication의 커플링을 약하게 하기 위해 나타났습니다. sourceApplication -> targetApplication의 형태로 이동하던 데이터를 sourceApplication -> kafka -> targetApplication의 형태로 중간에 kafka가 위치하게 됩니다. kafka는 json, tsv 등의 여러 포맷의 데이터를.. 2022. 8. 15.