묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결카프카 완벽 가이드 - 코어편
addShutdownHook() 과 mainThread.join()
안녕하세요! 설명을 너무 잘 해주셔서 유익하게 잘 듣고 있습니다 ㅎㅎWakeup을 이용하여 Consumer를 효과적으로 종료하기 부분에서 질문이 있는데요,프로그램이 종료되는 시점에 새로운 쓰레드를 만들어 실행하는 함수인 addShutdownHook() 안에 mainThread.join() 부분이 잘 이해되지 않습니다. 새로운 스레드가 ConsumerNetworkClient의 wakeup을 부르고 메인 스레드가 종료될 때까지 기다려야 해서 mainThread.join()을 부른다고 하셨는데, 메인 스레드의 종료 절차(메모리 정리 등?)를 마칠 때까지 기다린다는 의미가 맞을까요? addShutdownHook() 함수가 프로그램이 종료될때 실행되는 함수인데 그 안에 종료를 기다리는 함수가 또 들어있어 헷갈렸습니다. 그리고 만약 mainThread.join()이 메인 스레드가 종료를 마칠 때까지 기다리는 게 맞다면, mainThead.join()을 먼저 부르고 kafkaConsumer.wakeup()을 이후에 호출해도 문제가 없는지도 궁금합니다~
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
Kafka port 9092 already in use 문제
안녕하세요 zookeeper 실행 완료하고이제 마지막으로 Kafka 를 실행하면 완료 되는데요. (이미지 안보이시면 ㅠ,ㅠhttps://cdn.inflearn.com/public/files/posts/769307aa-6074-40cd-9d9d-94ffb82f7508/cccccc.PNG) 기본 default port 가 9092 설정된 상태에서 실행하면 이미 사용된 포트라고 에러가 발생 됩니다.혹시나 해서 9093 으로 설정해도 문제가 발생되네요... 참고로 꼭!! 9092 포트로 설정하고 프로세스 올리고 싶습니다 ㅠ,.ㅠ 그래서 혹시 9092 포트가 사용되고 있나 netstat -ano | findstr :9093 명령어 통해 확인을 해도 사용하는 포트가 없다고 나오는데요... 무슨 문제일까요?... 참고로 OS는 윈도우 입니다.
-
해결됨실습으로 배우는 선착순 이벤트 시스템
Coupon 도메인 중복
안녕하세요. 좋은 강의 항상 감사드립니다.Coupon 도메인 중복 관련해서 질문이 있습니다.consume 모듈을 새로 생성하면서 Coupon 도메인을 api 모듈에서 복붙을 하셨는데요.gradle 멀티 모듈을 만들 때 부모/자식 관계로 만들면 Coupon 도메인을 중복되지 않게 사용할 수 있을 것 같은데 강의에서는 시간상 패스한 것인가요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
Kafka 등의 메시지 브로커를 사용하는 이유에 대해 질문있습니다!
안녕하세요, 좋은 강의 올려주셔서 잘 배우고 있습니다 :)강의에서 Kafka 도입 이유에 대한 궁금증이 생겨 질문 드립니다. 'Redis를 활용하여 문제 해결하기' - '문제점' 강의에서 해당 쿠폰 API에 요청이 몰리면 DB 서버에 부하가 갈 수 있다고 설명해주셨는데요. 그 해결방법으로 Kafka를 사용하셨고 API에서 직접 쿠폰을 생성할 때와 다르게 처리량을 조절해서 부하를 줄일 수 있다고 하였습니다. 이 내용 중 "처리량을 조절한다"는 의미는 어떻게 이해하면 좋을까요? 컨슈머 애플리케이션에서 처리량을 조절하는 로직을 추가하여 RDB 부하를 분산시키는 걸까요? 혹은 카프카에서 그러한 기능을 지원하는 걸까요? 혹은 마지막 강의에 있는 에러를 발생했을 때, 백업 데이터를 통해 실패 처리를 하는 경우에 대한 이야기일까요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
고사양 환경에서 초기에 cloudera는 꺼져 있는 상태인가요?
만약 그렇다면 켜서 설치되어 있는 것들과 강의를 보면서 설정값들을 확인해 보고 싶은데 어떻게 하는지 모르습니다. 공식문서도 어딜 봐야 할 지 모르겠어서요.파일럿 프로젝트 진행하는 데에는 아무 문제가 없다는 걸 알지만 그래도 하나씩 짚어보고 싶어요.
-
미해결15일간의 빅데이터 파일럿 프로젝트
영상처럼 해보는데 JAVA부분이 안보여요
영상처럼 호스트 이름을 입력하면 아래에 체크박스가 체크할수 없게 되어있고 그전 영상처럼 현재 관리되는 호스트를 클릭하면 JDK나 SSH 로그인 정보를 제공합니다. 라는 구간이 스킵이 되는데 현재 관리되는 호스트로 진행해도 아무 문제 없을까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 컨슈머 그룹에 대하여
카프카 컨슈머 그룹을 공부하면서 어플리케이션을 만들다가 질문이 있어 글을 썼습니다.컨슈머 그룹 안에 여러개의 컨슈머들이 있고 그 컨슈머들이 토픽 안에 있는 파티션어 각각 붙어서 저장되어 있는 메세지를 받아오고 그 각각의 컨슈머들의 로직은 같다고 하셨는데 그러면 컨슈머 어플리케이션은 그 갯수만큼 서버에 올려서 만들어줘야 하나요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
고사양 VM3 수업자료는 어디까지 설치되어 있는 상태인가요?
저사양 자료를 받아서 Cluster 1 구성을 하다가 지우고 고사양 자료를 받아서 Cloudera의 클러스터를 구성하려고 보니 이미 Cluster 1이 존재한다고 해서 server01.hadoop.com/cmf 에 접속해 봤더니 컴포넌트들까지 Cluster 1이른 이름으로 모두 설치되어 있는 것처럼 보입니다.고사양 자료를 받은 경우 어디서부터 제가 직접 수업을 들으며 따라 해야 할 지 모르겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
No suitable driver 나오시는 분들
https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar제 경우 mariadb 커넥터 대신 mysql 커넥터 사용해서 해결했습니다.(... confluentXXX/share/java/kafka 폴더에 위치)정말.. 하루종일 아래 예외로 애먹었네여..Error while starting connector ...No suitable driver found for jdbc:mysql://localhost:3307/mydb mariadb 버전별 커넥터를 5개정도 해봐도 안되어서자포자기한 채로 mysql 커넥터를 사용하니 되었습니다 ㅠㅠ자세한 버전 정보입니다. (윈도우)kafka : 2.13-3.4.0kafka-connect-jdbc : 10.7.2confluent : 7.4.0mariaDB : 10.11java : 17 설정 정보입니다.confluent/etc/kafka/connect-distributed.properties89번 행 근처 plugin.path=\C:\\Work\\confluentinc-kafka-connect-jdbc-10.7.2\\lib confluent/bin/windows/kafka-run-class.bat97번 행 근처 rem classpath addition for LSB style path if exist "%BASE_DIR%\share\java\kafka\*" ( call :concat "%BASE_DIR%\share\java\kafka\*" ) (...) 122번 행 근처 rem Log4j settings IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] ( if exist %~dp0../../etc/kafka/tools-log4j.properties ( set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%~dp0../../etc/kafka/tools-log4j.properties ) else ( set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/etc/kafka/tools-log4j.properties ) ) ELSE ( rem create logs directory IF not exist "%LOG_DIR%" ( mkdir "%LOG_DIR%" ) set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%~dp0../../etc/kafka/tools-log4j.properties ) confluent/bin/windows/connect-distributed.bat28번 행 근처 rem Log4j settings IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] ( set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/etc/kafka/connect-log4j.properties -Dlog4j.config.dir=%BASE_DIR%/etc/kafka )POST Request{ "name":"my-source-connect", "config":{ "connector.class" : "io.confluent.connect.jdbc.JdbcSourceConnector", "connection.url":"jdbc:mysql://localhost:3307/mydb", "connection.user":"root", "connection.password":"1234", "mode":"incrementing", "incrementing.column.name":"id", "table.whitelist":"users", "topic.prefix":"my_topic_", "tasks.max":"1" } }
-
미해결15일간의 빅데이터 파일럿 프로젝트
Kernel panic - not syncing : Fatal exception
[4. VM 통합 환경 구성]에서 헤매고 있습니다.Windows11에서 보안 상의 이유로 VirtualBox 5.x 버전을 설치할 수 없다고 하여 6.1 버전을 설치하여 사용하고 있습니다.다음은 Server01, Server02의 설정값입니다.네트워크 어댑터1 NAT 네트워크 (강의와 같은 NatNetwork 10.0.2.0/24)네트워크 어댑터2 호스트 전용 어댑터 (6.1버전이라서 [파일-호스트 네트워크 관리자]에서 강의와 같이 설정)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka connector mysql 연결 오류
kafka connector mysql 연결 부분에서 오류가 납니다mac m1 환경인데 구글링해도 이유를 모르겠어서 질문 남깁니다
-
미해결15일간의 빅데이터 파일럿 프로젝트
flask에서 API호출 에러
안녕하세요~선생님,마지막 수업 "3.텐서플로를 이용한 신경망 분석 - 스마트카 이상징후 판별 4" 에서 다음과 같은 크롬에서 API호출 에러가 발생합니다.Anaconda prompt에는 정상적으로 실행이 되는데 API호출 변수에 이상이 있는 것 같습니다.API호출 함수를 아래와 같이 두 가지로 해보았으나 같은 에러가 발생합니다.(1)127.0.0.1:9001/smartcar/predict?wea=2&temp=0&hum=1&arrOthCar=2&time=0&acciArea=1&drvCond=1&innCond=2&carSpd=2&steeAng=0(2)127.0.0.1:9001/smartcar/predict?wea=2&temp=0&hum=1&arrCar=2&timeSlot=0&acciArea=1&drvCond=1&innCond=2&carSpd=2&steeAng=0감사합니다~
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
busrefresh 요청 시 rabbitmq 큐 처리
안녕하세요테스트를 하면서 찾아봐도 해당 부분에 대한 의문이 해결되지 않아서 문의 드립니다.예를 들어 3대의 서버에 spring event bus를 구성한 후1번 서버에서 busrefresh를 요청하면 3대 서버에서 refresh가 정상적으로 처리가 되는건 확인했는데rabbitmq에서 큐를 확인해보면 busrefresh를 요청한 1번 큐에는 메시지가 없고2번, 3번 서버에서는 큐 메시지가 들어오는데..1번에서는 busrefresh 요청을 받기 때문에 큐 메시지 없이 처리가 가능하기 때문에 큐에서 제외되는건가요?제가 확인한 내용이 맞다면 rabbmit exchange에서 topic으로 패턴 매칭되서 모든 큐에 메시지를 넣을 거 같은데..어떻게 자신의 큐만 제외시키는지 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
springboot 2.7.x 버전 안되시는 분들 혹시 참고...
config: name: ecommerce import: optional:configserver:http://localhost:8888 # boot 2.4부터 부트스트랩 x application: name: USER-SERVICE이렇게 된 경우 config name 을 가져가는게 아니라application name 으로 yaml 을 계속 찾네요.. 흠..자답합니다스프링부트 2.7.11config, bootstrap 아래 의존성으로 교체<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> <version>3.1.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-bootstrap --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> <version>3.1.3</version> </dependency>application.yml 에 아래 코드추가spring: config: import: classpath:/bootstrap.ymlbootstrap.yml은 동일히 작성위 과정 거치고 돌렸더니 드디어... config 가져오네요...springboot 버전과 의존 라이브러리 최신버전과호환이 안되었던건지 이틀 간 찾아본듯 😂spring boot 2.7.x 버전 yml 설정 이렇게 하면 됩니다. - 인프런 | 질문 & 답변 (inflearn.com)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
띄어쓰기 안하는 이유가 궁금해요
안녕하세요! 좋은 강의 제공해주셔서 감사합니다. mvn spring-boot:run-Dspring-boot.run.jvmArguments='-Dserver.port=9003'다음과 같은 명령어나 실행 옵션에서 -D와 같은 옵션을 띄어쓰기 없이 사용하는 이유가 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
띄어쓰기 안하는 이유가 궁금해요
안녕하세요! 좋은 강의 제공해주셔서 감사합니다. mvn spring-boot:run-Dspring-boot.run.jvmArguments='-Dserver.port=9003'다음과 같은 명령어나 실행 옵션에서 -D와 같은 옵션을 띄어쓰기 없이 사용하는 이유가 있을까요?
-
해결됨카프카 완벽 가이드 - 코어편
addShutdownHook이 제대로 작동하지 않는것 같습니다
IntelliJ에서 ConsumerWakeup파일을 실행하고 종료 시,logger.info("main program starts to exit by calling wakeup");이 콘솔에 출력되지 않고 아래와 같은 오류가 출력됩니다.> Task :consumers:ConsumerWakeup.main() FAILED2 actionable tasks: 1 executed, 1 up-to-dateFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':consumers:ConsumerWakeup.main()'.> Build cancelled while executing task ':consumers:ConsumerWakeup.main()'* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 11s오후 4:02:44: 실행이 완료되었습니다 ':consumers:ConsumerWakeup.main()'. 만약, 커버리지 모드로 구동을 할 경우 아래와 같이 정상적으로 로그가 출력됩니다.[Thread-2] INFO com.example.kafka.ConsumerWakeup - main program starts to exit by calling wakeup[main] ERROR com.example.kafka.ConsumerWakeup - wakeup exception has been called[main] INFO com.example.kafka.ConsumerWakeup - finally consumer is closingClass transformation time: 0.1235649s for 1928 classes or 6.408967842323652E-5s per class VirtualBox 세팅 문제로 별개의 Bare-Metal 리눅스 서버를 구성하여 사용중입니다.Java 버전, Gradle버전, implementation환경 등은 강의와 같은 상태인데 혹시 어떤게 문제일까요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
filezilla 전송 오
filezilla 전송 부분에서 오류가 뜹니다.예제소스에 읽기 전용 계속 해제해도 노트북에서 제한하는 것 같습니다.읽기 전용 해제 하면 체크표시는 해제되나 - 표시로 계속 남아 있어요 여기 속성 통해서 모든 권한 허용으로 변경했는데 아직 동일한 오류 뜹니다 ㅠㅠ
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
브로커에 연결이 안됩니다
원영님 강의를 보고 현재 스프링 프레임워크 기반의 회사 솔루션에 카프카 도입을 구현하고 있습니다. 터미널 상에서 컨슈머와 프로듀서는 잘 주고 받는데 IDE로 넘어와 적용하면 에러가 발생합니다브로커의 로그를 확인해보니 Processing automatic preferred replica leader election (kafka.controller.KafkaController)Checking need to trigger auto leader balancing (kafka.controller.KafkaController)Topics not in preferred replica for broker 0 Map() (kafka.controller.KafkaController)이런 로그들이 찍히는데 구글링해도 이렇다 할 해결방법을 못찾고 있습니다 컨슈머 프로퍼티에 부트스트랩 서버도 localhost:9092 프로듀서 프로퍼티의 부트스트랩 서버도 동일하며 서버 프로퍼티의 애드버타이즈드 리스너도 localhost:9092로 설정해뒀습니다혹시 제가 빠뜨린 부분이 있을까요? 도움 주시면 감사하겠습니다..
-
미해결15일간의 빅데이터 파일럿 프로젝트
가상 머신 Server01의 세션을 열 수 없습니다 오류
virtual box 6.1.0 버전을 사용하고 있습니다.강의에 사용하신 버전은 제 노트북에서 오류가 뜨고 원래는 조금 더 높은 버전이었으나 가상 server01, 02 추가 자체가 되지 않아 해당 버전으로 다시 설치했었습니다. 참고로, Fasoo DRM 이 다운되어 있지 않고CPU VT 활성화를 해야하나해서 확인해봤더니 제 노트북이 삼성인데 BIOS에서 해당 설정값 변경이 불가능하게 되있습니다. 어떻게 오류 고치면 될까요ㅜㅜ확장팩 설치로도 오류가 안고쳐졌습니다...