공부/Kafka
-
[Kafka] 메시지 값 순서가 메시지를 넣은 순서와 다른 이유공부/Kafka 2022. 5. 26. 01:54
1. 결론 카프카에 메시지를 저장할 때는 라운드 로빈 알고리즘을 사용한다고 합니다. 그래서 파티션을 나눌 경우에는 중요도 값이 따로 설정되어 있지 않으면 처리했을 때마다 라운드 로빈 알고리즘에 의해 데이터가 들어오면 시간 단위로 특정 파티션에 저장하는 것입니다. 카프카에 적용되는 라운드 로빈 알고리즘은 데이터가 최대한 공평하게 저장될 수 있도록 특정 시간마다 저장할 파티션의 위치를 다르게 적용하는 것입니다. 만약 데이터를 순서대로 보내는 활동이 필요하다면 파티션을 1개로 설정하면 됩니다. 하지만 1개로 설정하면 당연하겠지만 좋은 성능이 나오지 않습니다. 위 그림을 보면 좀 더 쉽게 이해할 수 있습니다. 2. 예제 - 토픽에 메시지 값 넣어서 출력해보기 카프카에 토픽을 하나 만들어봅시다. 이때 파티션을 4..
-
[Kafka] Connection to node -1 (ip주소:9092) could not be established. Broker may not be available 에러공부/Kafka 2022. 5. 25. 23:16
cd kafka_2.12-2.5.0 일단 자기 버전에 맞게 설치한 디렉토리에 들어간다. vi config/server.properties 여기서는 카프카 브로커 옵션을 설정할 수 있다. # The address the socket server listens on. It will get the value returned from # java.net.InetAddress.getCanonicalHostName() if not configured. # FORMAT: # listeners = listener_name://host_name:port # EXAMPLE: # listeners = PLAINTEXT://your.host.name:9092 #listeners=PLAINTEXT://:9092 # Hostna..
-
[AWS, Kafka] ec2 프리티어를 사용할 경우 생기는 에러공부/Kafka 2022. 5. 21. 23:55
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N ec2 프리티어를 사용할 경우 생기는 오류이다. M2.micro의 램 크기가 1GB이기 때문에 kafka와 zookeeper의 메모리 사용 용량을 줄여야한다. 내가 설치한 카프카는 kafka_2.12-2.5.0이므로 cd 명령어를 사용하여 들어간다. cd kafka_2.12-2.5.0 kafka의 메모리 할당량을 줄인다. vi bin/kafka-serv..