mac os 환경에서 utm에 ubuntu 설치해서 사용중입니다. 고정 IP할당하는 부분에서, 강의는 virtual box로 설명되어 세팅값 설정하는데 어려움이 있습니다 구글링 해봐도 "utm ubuntu 수동 ip 설정" 관련해서는 따로 자료가 없어서요! ㅠㅠ utm > edit selected vm > Devices > 네트워크 > 고급 설정 보기 다음에 어떤걸 설정해야되는지 모르겠습니다!
consume lag 모니터링 툴로 prometheus + grafana는 어떻게 생각하시나 궁금합니다~! prometheus에서 슬라이딩 윈도우를 지원하는 것으로 아는데, 블로그를 보다 kafka jmx exporter를 prometheus jmx metrics를 봐서요!
마이크로서비스 양질의 내용을 수강중인 학생입니다. 지금 kafka source connector와 mariadb를 연결하는 과정에서 database url을 찾을 수 없다는 에러가 계속 발생중입니다. 혹시 동일한 현상을 해결하신 선배님이 계시거나, 아시는분의 도움을 얻고자 글 올립니다. 일단 db는 정상 실행되고 있습니다. url/user/password/table name까지의 정보는 완전 일치합니다. 증상은 아래와 같습니다. data source 생성 과정 source connector 상태 정보 url 정상 유무
안녕하세요 강의 잘 듣고 있습니다. 강의 [섹션 5 카프카 프로듀서 애플리케이션 개발 > 메시지 키를 가진 프로듀서 애플리케이션] 에서의 질문 드립니다.. 질문 1. 강의를 따라가며 실습을 그대로 진행해보고 있는데.. 아래와 같이 kafka-console-consumer 명령어에 --from-beginning 옵션을 주고 실행했을 때.. 보낸 순서대로 출력이 이루어지지 않는것으로 보여서 이유가 무엇인지 궁금합니다.. 질문 2. 애플리케이션에서 key1-value1 을 먼저 send 하고 key2-value2 를 send 하는 순서로 실행을하면.. kafka-console-consumer 명령어로 실시간으로 출력되는 것을 보았을 때.. key2 가 먼저 출력되고 key1 이 출력됩니다.. 이 경우 무엇이 잘못 된건지 궁금합니다. 실습환경 Kafka 2.5.0 코드는 3.4.1 kafka-producer 의 ProducerWithKeyValue 를 key value 값만 변경하였습니다. 감사합니다.
안녕하세요 강사님! 먼저 좋은 강의 만들어주셔서 진심으로 감사드립니다. 다름이 아니라 궁금한 점이 있는데요, 많은 사람들이 이야기하는 것이 hadoop과 스파크에 대한 비교인데요. 스파크의 인메모리 처리를 통한 속도 향상으로 인해 하둡을 넘어섰다(?) 이런 얘기가 많이 있는 것 같습니다. 그런데 본 강의에서는 스파크가 하이브와 비교되고 sql 언어를 맵리듀스로 처리하게 해주는 용도로 설명해주신 것으로 이해했습니다. 스파크는 하둡과 같은 데이터베이스가 아닌것인지 궁금합니다!
설날 추석을 예를 들어 설명을 해주셨는데요. 트래픽이 늘어날 경우 일시적으로 파티션 개수와 컨슈머 개수를 늘린다는 의미가 와닿지 않습니다. 파티션 개수는 늘릴 순 있지만, 줄일 수 없다고 강의를 통해 이해했습니다. 그럼 일시적인게 아니라 한번 늘리면 끝인게 아닌가 싶어서요. 그래서, 처음 파티션 개수를 설정할 때 넉넉하게 50~100개를 설정하면 이와 같은 이슈는 거의 발생하지 않고, 혹시라도 발생할 경우 더 많은 파티션 개수를 늘려야하지 않을까 싶습니다. 근데 특정 날에만 트래픽이 몰리는건데 파티션 개수를 많이 늘려놓으면, 트래픽이 적을 때는 아무 상관이 없을까요? 리밸런싱이 안생기면 좋겠지만, 리밸런싱이 실행되면 그 시간이 증가할거라 예상됩니다.
섹션 10 강의를 들으면서 설정값을 바꾼후 busrefresh를 통해 성공적으로 (204)를 반환 받아도 저런식으로 오류가 발생하여 항상 전부 재시작후 실습을 진행중입니다. 어떻게 해결해야할까요? 해당 json부분에 이전과 다른 데이터 값을 넣어주면 정상작동합니다. 하지만 제가 알기로는 h2 db의 경우 재시작 할 때마다 데이터가 모두 날라가는걸로 알고 있습니다. spring: datasource: driver-class-name: org.h2.Driver url: jdbc:h2:mem:testdb username: sa h2역시 인메모리 방식으로 잘 되어 있는데 왜 모든 서비스들을 전부 종료하고 재시작해야지만 h2내부의 값들이 사라지는지 궁금합니다.
bootstrap.servers 에 2개 이상의 브로커 정보를 입력하는 이유가 무엇일까요? 제가 생각하기로는 클러스터에 대한 주소 1개를 입력하면 되는게 아닌가 싶어서요 그래야지만 특정 브로커에서 문제가 생겼을 때 클러스터에 있는 다른 브로커로 접속해서 이슈가 없도록 설정하는 개념이 아닌가요? 클러스터에 있는 브로커중 2개 이상을 임의로 입력해야한다는 것인데, 항상 클러스터에 있는 모든 브로커 개수를 입력해야한가요? 그럼 브로커가 추가될 때마다 소스에 있는 bootstrap.servers 정보를 수정해야 하는게 아닌가요? 제가 원리를 잘못 이해한 것인지 답변부탁드립니다.
특정 토픽에 대한 파티션을 3개를 만든 후 소스에서 컨슈머 그룹에 대한 컨슈머를 3개를 만들었습니다. 운영 환경에서 실행중인 서버가 1개인데 CPU 사용량으로 인한 오토스케일링이 발생하여 서버가 2개가 되었을 때, 그럼 총 6개의 컨슈머가 생성되는 것이라고 생각됩니다. 그럼 3개의 컨슈머는 idle 상태로 놀고 있는게 아닌가 싶습니다. 제가 이해한게 맞을까요? 실제 운영 환경에서 이런 경우는 어떻게 하는게 좋은 방법일지 궁금합니다. --------------- 멀티스레드 컨슈머 애플리케이션 강의를 들었습니다. 그렇다면 강사님께서는 토픽 + 컨슈머 그룹 + 컨슈머 별로 각각의 프로세스를 실행시키나요? 다른 강의에서 파티션의 개수를 충분히 많은 개수 50~100개를 권장하셨는데.. 그럼 프로세스가 너무 많이 떠있는거라 생각되서요.. 강의 예로는 아래와 같이 컨슈머가 있다면, 총 7개의 프로세스에 단일 쓰레드로 실행시키는 걸까요? ex) A-TOPIC A-TOPIC-GROUP-1 A-TOPIC-GROUP-1-CONSUMER-1 A-TOPIC-GROUP-1-CONSUMER-2 A-TOPIC-GROUP-2 A-TOPIC-GROUP-2-CONSUMER-1 A-TOPIC-GROUP-2-CONSUMER-2 A-TOPIC-GROUP-2-CONSUMER-3 B-TOPIC B-TOPIC-GROUP-1 B-TOPIC-GROUP-1-CONSUMER-1 B-TOPIC-GROUP-1-CONSUMER-2
카프카 프로듀서 소개 강의를 보다 질문드립니다. 프로듀서에서 레코드를 send하면 Accumulator에서 배치로 묶는 과정을 한다고 하셨는데요. 실제 Sender가 발생하는 시점에 프로듀서 애플리케이션에서 항상 1개의 배치 단위로 tcp 통신이 발생하나요? 아니면 내부적으로 여러개의 배치를 한번의 tcp 통신으로 통신할까요?
먼저 강의 잘 들었습니다. 취준 중인데도 이해가 잘 돼서 좋습니다! 다름이 아니라 동시성 제어를 할 때 redis, kafka로도 해결할 수 있다는 것은 알겠습니다. 다만, Lock으로도 동시성 제어도 할 수 있지만 줄줄이 기다리기 때문에 선착순 쿠폰 같은 이슈에 대해서는 비관적 락을 걸 경우 100명까지 순차적으로 느리게 된다는 것으로 이해했는데 맞을까요? 제가 이해한 것이 맞다면 락을 사용하면 많이 느릴텐데 보통 어떤 경우에 락을 통해 동시성 제어를 하고, 어떤 경우에 카프카를 쓰시나요? 같은 경우라도 상황마다 다르겠지만.. 예시를 조금만 들어주실 수 있을까요? 잘 이해를 하지 못해서 질문 남깁니다 감사합니다
zookeeper의 경우 D:\{home}\kafka_2.13-2.7.0>bin\windows\zookeeper-server-start.bat config\zookeeper.properties 이대로 실행하면 아래 파바박 뜨면서 tmp에 zookeeper 폴더도 잘 만들어 지는데 kafka는 D:\{home}\kafka_2.13-2.7.0>bin\windows\kafka-server-start.bat config\server.properties 아무것도 안뜨고 그냥 D:\{home}\kafka_2.13-2.7.0> 으로 넘어갑니다 tmp에 폴더도 안 만들어지고요. 딱히 에러가 발생하지도 않습니다. java는 jdk 11.0.2사용 중이고 버전에 문제 없어 보이는데 왜 이러는 걸까요?
토픽을 구독하는 컨슈머를 콘솔에서 생성하면, 생성하는 컨슈머마다 항상 새로운 그룹이 만들어지게 되는거고 해당 토픽에 내부 파티션인 __consumer_offset가 생성된 컨슈머의 수만큼 만들어지는게 맞나요? 자바의 KafkaConsumer 를 사용할때 이미 존재하는 컨슈머 그룹에 참여한다면, 토픽에는 해당 컨슈머 그룹에 대한 정보인 __consumer_offset이 이미 존재하고 컨슈머에서 이 값을 읽어오니 earlist로 설정해도 0번 인덱스 레코드부터 읽는게 아닌 __consumer_offset에서 offset 값을 그대로 읽어와 사용하는게 맞나요?