묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 컨슈머 그룹에 대하여
카프카 컨슈머 그룹을 공부하면서 어플리케이션을 만들다가 질문이 있어 글을 썼습니다.컨슈머 그룹 안에 여러개의 컨슈머들이 있고 그 컨슈머들이 토픽 안에 있는 파티션어 각각 붙어서 저장되어 있는 메세지를 받아오고 그 각각의 컨슈머들의 로직은 같다고 하셨는데 그러면 컨슈머 어플리케이션은 그 갯수만큼 서버에 올려서 만들어줘야 하나요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
고사양 VM3 수업자료는 어디까지 설치되어 있는 상태인가요?
저사양 자료를 받아서 Cluster 1 구성을 하다가 지우고 고사양 자료를 받아서 Cloudera의 클러스터를 구성하려고 보니 이미 Cluster 1이 존재한다고 해서 server01.hadoop.com/cmf 에 접속해 봤더니 컴포넌트들까지 Cluster 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버전이라서 [파일-호스트 네트워크 관리자]에서 강의와 같이 설정)
-
미해결[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
다른 강의 수강자분들께 도움될까 싶어 남깁니다.(linux mongodb 실행관련)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현재 22.04 LTS ubuntu에서 mongodb를 설치하면 6.0.6으로 설치가 됩니다. https://www.programmerhat.com/mongo-command-not-found/해당 링크에 따르면 6.0버전으로 업데이트 되면서 기존 Mongodb shell prompt에 접근하는 명령어가mongo 에서 mongosh로 바뀌었다고 합니다.설치 이후 systemctl에 의한 status 체크가 끝났음에도 실행이 되지 않으시는 분들은 mongosh로 실행시켜보시기 바랍니다.
-
미해결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감사합니다~
-
해결됨카프카 완벽 가이드 - 코어편
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 전송 부분에서 오류가 뜹니다.예제소스에 읽기 전용 계속 해제해도 노트북에서 제한하는 것 같습니다.읽기 전용 해제 하면 체크표시는 해제되나 - 표시로 계속 남아 있어요 여기 속성 통해서 모든 권한 허용으로 변경했는데 아직 동일한 오류 뜹니다 ㅠㅠ
-
미해결15일간의 빅데이터 파일럿 프로젝트
가상 머신 Server01의 세션을 열 수 없습니다 오류
virtual box 6.1.0 버전을 사용하고 있습니다.강의에 사용하신 버전은 제 노트북에서 오류가 뜨고 원래는 조금 더 높은 버전이었으나 가상 server01, 02 추가 자체가 되지 않아 해당 버전으로 다시 설치했었습니다. 참고로, Fasoo DRM 이 다운되어 있지 않고CPU VT 활성화를 해야하나해서 확인해봤더니 제 노트북이 삼성인데 BIOS에서 해당 설정값 변경이 불가능하게 되있습니다. 어떻게 오류 고치면 될까요ㅜㅜ확장팩 설치로도 오류가 안고쳐졌습니다...
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
윈도우 환경에서 여러 가지 이유로 Docker compose up 에러 발생 시 해결 방안
1. Dockerfile2. docker-compose.yml3. server.js 위와 같이 설정 후 아주 잘됩니다. 안되시는 분들은 한번 참고해 보시기 바랍니다. 그럼 이만...
-
미해결다양한 사례로 익히는 SQL 데이터 분석
사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL관련 질문
안녕하세요 강사님사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL 구하고 시각화 하기 - 02 강의 부분에서 질문을 드리려고 하는데요.강사님께서 monthly_user_cnt를 case when으로 범위를 자의적으로 정해서 구분을 하셨는데, 만약 파이썬을 활용하면 히스토그램을 본다던지, value_counts() 등등으로 구분 시도를 할 수 있을 것 같은데, 단지 sql로만 활용을 한다면, 이러한 구분을 어떤 방법으로 하는게 좋을지 알 수 있을까요?예를 들어 강의에서는 1번, 2-3번, 4-8번 이렇게 구분을 하신 이유와 방법에 대해서 알고 싶습니다. 부가적으로 질문을 드리고 싶은게, 보통 with문을 만드실 때 group by 까지는 with 문 안에서 진행을 하시고, order by 같은 경우에는 with 밖에서 쓰시던데, with문 안에서 order by 를 안하는 이유에 대해서 있을까요?
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
커넥터, 스키마 레지스트리 관련 질문입니다.
안녕하세요 강사님. 커넥터, 스키마 레지스트리 관련 질문드립니다!현재 json형식의 데이터를 s3 sink connector를 통하여 parquet 형식으로 저장하려고 합니다. json 형식의 데이터는 키 값들이 일정하진 않습니다. 예를 들어 어떤 데이터는 { "test1":"test", "test2":"test2"} 이런식이고, 어떤 데이터는 {"test1":"test1"} 이런 식입니다. 이런 경우에도 스키마 레지스트리를 활용하여 적재가 가능할까요? 없는 키 값들에 대해선 default로 null값을 스키마에 명시하면 자동으로 null처리가 되어 들어오는지 궁금합니다. 그리고 아래처럼 커넥터에 설정을 주면 자동으로 json형식의 데이터가 들어올때 커넥터에서 스키마레지스트리를 바라보고 스키마를 읽어서 parquet로 적재가 되는건지 문의드립니다.value.converter.schema.registry.url=localhost:8080value.converter=io.confluent.connect.avro.AvroConverterformat.class=io.confluent.connect.s3.format.parquet.ParquetFormat
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
500 에러 : MySQL 인증 오류
/api/hi 는 정상 작동하는데, /api/values가 500을 반환해서 mysql 연결 부분이 문제가 있는 것 같아서 찾아봤습니다. https://github.com/mysqljs/mysql/issues/2390mysql 버전에 따른 문제로 보이며, 백엔드에서 mysql 패키지를 mysql2 패키지로 변경하면 문제가 해결됩니다. 변경 사항은 깃허브에 pull request 되어 있으니, 코드 변동 사항은 확인해보시면 될것 같습니다.https://github.com/jaewonhimnae/docker-codes/pull/3
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
oracle source connector 관련 문의
안녕하세요 강사님cdc 관련 적용을 하다가 질문이 있어서 글을 남기게 되었습니다. 오라클 source connector를 생성하려고 하는데요.아래와 같은 설정을 하였는데 DB 전체 스키마에 대해서 스냅샷을 진행하여 시간이 너무 오래 걸리는데요. 혹시 제가 빠뜨린 설정이 있을까요?오라클의 경우는전체 스키마는 5개정도이지만 실제 사용하고자 하는 스키마는 2개에 포함된 테이블 몇 개 정도입니다.{"name": "v2_ora_source_connector_20230516_01","config" : {"connector.class" : "io.debezium.connector.oracle.OracleConnector","db_type":"oracle","tasks.max" : "1","database.server.name" : "v2_source_connector_20230516_01","database.user" : "TEST11","database.password" : "TEST11","database.url": "jdbc:oracle:thin:@10.74.XXX.XXXX:1521:XXXXX","database.dbname" : "SIDV_V2_20230516_01","database.out.server.name":"v2_ora_source_out_20230516_01","schema.history.internal.kafka.bootstrap.servers" : "10.74.XXX.XXX:9092","schema.history.internal.kafka.topic": "ora_source_history_20230516_01","schema.include.list": "TEST11 , TEST22","include.schema.changes": "true","database.connection.adapter": "logminer","topic.prefix": "V2_ORA_SOURCE","table.include.list":"TEST11.GD_CDC_WORK_REQ_MGMT , TEST11.VD_CDC_VEND , TEST22.AM_CDC_ORDER , TEST22.AM_CDC_CLAIM , TEST22.AM_CDC_COUNSEL" ,"include.schema.changes": "true","auto.evolve": "true","time.precision.mode": "connect","key.converter": "io.confluent.connect.avro.AvroConverter","value.converter": "io.confluent.connect.avro.AvroConverter","key.converter.schema.registry.url": "http://localhost:8081","value.converter.schema.registry.url": "http://localhost:8081","snapshot.mode" : "initial","tombstones.on.delete": "true","transforms": "rename_topic","transforms.rename_topic.type" : "org.apache.kafka.connect.transforms.RegexRouter","transforms.rename_topic.regex" : "V2_ORA_SOURCE(.*)","transforms.rename_topic.replacement" : "v2_source_$1","transforms": "unwrap","transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState","transforms.unwrap.drop.tombstones": "false"}}
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
안녕하세요~~
스키마 레지스트리 강의 듣다가 궁금해서 질문드립니다.하위 호환성에서 쓰기 스키마 V1 읽기 스키마 V2가 있다고 교재에 나와있는데요.저기에 나와있는 스키마 즉 쓰기 스키마는 source db의 table의 스키마이고 읽기 스키마는 동기화되는 target db의 table이 맞죠?그리고 쓰기 스키마를 기준으로 producer와 consumer가 데이터를 serialize, deserialize 하구요?V1, V2라고 되어있고 그래서 schema registry에 있는 version으로 생각했었는데 생각해보니 만약 서로(source, target) 스키마 레지스트리에서 사용하는 버전이 다르다면 그거를 커넥터 정의할 경우 정의를 해주고 해야하는데 그런게 없어서 궁금해서 여쭤봐요~~
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
안녕하세요
궁금한게 있어서 질문드립니다~~consumer를 구현할 때 데이터를 올드 데이터가 덮어쓰는 경우나 삭제 처리 때문에 날짜를 validation하는 로직이 들어가게 되는데요데이터를 올드 데이터가 덮어쓰는 경우는 저장소가 장애가나거나 비즈니스 로직으로인해 에러가 나고 뉴 데이터는 들어가게 되었을 때 올드 데이터가 데드레터에 들어가 있고 복구된다면 덮어쓰게 됩니다.consumer -> validation storevalidation 통과후consumer -> source store위의 과정 후에 저장하게 됩니다.그런데 카프카 커넥터를 기반으로 했을 때는 위의 과정 처리를 어떻게 할 수 있을까요?물론 로직이 들어가게 되므로 커넥터를 사용하지 않고 구현하는게 맞는 것 같기는한데 만약 그렇게 될 경우에는 카프카 커넥터의 사용범위가 로그성 데이터나 초기 데이터를 이관할 때 정도로 사용되는 범위가 축소될 것 같아서 질문드려 봅니다! 감사합니다
-
미해결15일간의 빅데이터 파일럿 프로젝트
오라클 virtualbox 윈도우11 호스트 전용 네트워크 설정
강의에서는 호환문제때문에 5.0 설치하라고 하셨는데제 노트북에서 설치 후 실행 자체가 되지 않아virtualbox 6.1.44를 다운받았습니다. 근데 네트워크 설정에서 호스트 전용 네트워크 칸이 뜨지 않아서요.어떻게 들어가서 설정해야할까요?저장
-
미해결카프카 완벽 가이드 - ksqlDB
macbook m1 pro, mac mini m2 pro 모두 설치가 안됩니다.
안녕하세요. m1 맥북과 m2 pro 맥미니에서 모두 설치가 되지 않습니다. VirrualBox 는 현재 download 할 수 있는 7.0.8로 설치 했고, ubuntu 는 ubuntu-20.04.6-desktop-amd64.iso 로 설치했습니다. 처음 시작하면 console 창에"RETBleed: WARNING: spectre v2 mitigation leaves CPU vulnerable to RETBleed attacks, data leaks posssible!"이런 에러가 나옵니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Docker - Ubuntu - Docker
선생님, 안녕하세요. 좋은강의 정말 감사합니다. 도커를 이용해 aws Ec2에 배포하기 전, 미리 ec2와 같은 환경을 조성해, 그 안에 다시 도커를 설정해 가동해보고 싶은데요. 말이 좀 복잡하지만 정리해서 보여드려보자면Mac (제 PC) - Docker Ubuntu Container - Docker 설치 및 실행 Mac (제 PC)Docker Ubuntu 이미지 설치 및 컨테이너 접속2에서 접속한 컨테이너에서 Docker 설치Docker 실행여기서 3번 까지는 성공했는데, 4번에서 Docker 실행이 안됩니다. docker -v Docker version 23.0.6, build ef23cbc도커 버전확인이 되는 걸 보니 도커가 설치된 거 같긴한데, 여기서 간단한 명령인 sudo docker run hello-world를 입력하면Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See 'docker run --help'.이런 메세지가 뜹니다.구글링을 통해 sudo systemctl start docker 명령어를 입력하면 된다고 해서 sudo systemctl start docker System has not been booted with systemd as init system (PID 1). Can't operate.입력해봤지만, 여전히 위와 같은 메세지가 나오며 실행되지 않습니다.혹시 방법이 있을까요??
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
[수업질문] mysql_cdc_oc_source_test01.json 업로드 에러
안녕하세요. 'Debezium Source Connector 생성하기'수강중에 진행이 막혀 질문드립니다.config를 register_connector로 등록할 때 발생한 이슈인데해당 이슈 : { "error_code": 400, "message": "Connector configuration is invalid and contains the following 1 error(s):\nUnable to connect: Communications link failure\n\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.\nYou can also find the above list of errors at the endpoint `/connector-plugins/{connectorType}/config/validate`" }= 커넥터 구성이 잘못되어 MySQL 서버에 연결할 수 없다로 해석되어 다음과 같은 해결책을 시도해보았습니다.0. http GET http://localhost:8083/connector-plugins | jq '.[].class' 조회시 io.debezium.connector.mysql.MySqlConnector 정상등록 확인1.MySQL 서버 정상실행중 확인2.포트 확인 > SHOW VARIABLES LIKE 'port'; >> 33063.네트워크 연결 상태 확인3-1. mysql 외부접속 허용 확인 : my.cnf에서 bind항목 점검 >> 없음=기본세팅인 허용3-2. 방화벽 규칙 확인 : Chain INPUT, FORWARD, OUTPUT : Accept , sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT4.SSL 문제인가? >> my.cnf에 따로 ssl-mode 설정은 없음.5.ifconfig >> enp0s8 inet 192.168.56.101 이렇게 확인했음에도 해결되지않아 도움요청드립니다. config{ "name": "mysql_cdc_oc_source_test01", "config": { "connector.class": "io.debezium.connector.mysql.MySqlConnector", "tasks.max": "1", "database.hostname": "192.168.56.101", "database.port": "3306", "database.user": "connect_dev", "database.password": "connect_dev", "database.server.id": "10000", "database.server.name": "test01", "database.include.list": "oc", "database.allowPublicKeyRetrieval": "true", "database.history.kafka.bootstrap.servers": "192.168.56.101:9092", "database.history.kafka.topic": "schema-changes.mysql.oc", "key.converter": "org.apache.kafka.connect.json.JsonConverter", "value.converter": "org.apache.kafka.connect.json.JsonConverter" } }connect 로그는 다음과 같습니다.ERROR Failed testing connection for jdbc:mysql://192.168.56.101:3306/?useInformationSchema=true&nullCatalogMeansCurrent=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&connectTimeout=30000 with user 'connect_dev' (io.debezium.connector.mysql.MySqlConnector:103) com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:829) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:449) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:242) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) at io.debezium.jdbc.JdbcConnection.lambda$patternBasedFactory$1(JdbcConnection.java:244) at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:888) at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:883) at io.debezium.jdbc.JdbcConnection.connect(JdbcConnection.java:411) at io.debezium.connector.mysql.MySqlConnector.validateConnection(MySqlConnector.java:98) at io.debezium.connector.common.RelationalBaseSourceConnector.validate(RelationalBaseSourceConnector.java:54) at org.apache.kafka.connect.runtime.AbstractHerder.validateConnectorConfig(AbstractHerder.java:459) at org.apache.kafka.connect.runtime.AbstractHerder.lambda$validateConnectorConfig$2(AbstractHerder.java:362) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
-
미해결카프카 완벽 가이드 - ksqlDB
RocksDB에서 StateStore로 읽어온 값은 메모리 상태에 저장될까요?
안녕하세요, 철민님. 항상 좋은 강의 감사드립니다! 한 가지 질문 드리고 싶은 것이 있어 글을 작성합니다. 혹시 RocksDB에서 StateStore로 읽어온 데이터는 어디에 저장이 되어 있을까요? RocksDB는 로컬에 Key / Value 형식으로 데이터를 가지는 것으로 이해를 했는데, StateStore로 읽어오면 그 값은 메모리에 있을까요? StateStore의 구현체가 RocksDB도 있고, In-Memory 같은 형태도 존재하고 있는데, 이렇게 구현체가 따로 있는 것으로 추정컨데 RocksDB를 이용한 StateStore는 값을 읽어와서 메모리에 따로 저장하지 않고, 필요할 때 마다 로컬 디스크에 있는 값을 바로바로 불러오는게 아닐까 싶은데... 어떤 형식으로 동작하는 것일까요...?