묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Airflow 마스터 클래스
스케줄링, dag removed원인 질문입니다.
안녕하세요 강사님,2가지 질문이 있습니다. 데일리 스케줄일 때 금년 11월을 돌린다고 가정하면 기간은 2024/11/01~2024/11/30일입니다. start_date=20241101, end_date=20241130으로 설정하였고, dag를 11/17일에 실행한다고 했을 때, 11/1일부터 17일까지 다 돌면 11/18~11/30일까지는 날짜가 바뀌면 알아서 schedule_interval(매일 1시 등)에 따라 자동으로 task가 실행됐음 좋겠는데 현재 재가 테스트 해본 dag에서는 17일까지만 돌고, 11/18일이 되어도 task가 자동으로 실행이 안되네요. 11/19일이 되어도 18일날짜부터 중지되어있습니다.비슷하게 검색했을 땐 catchup을 변경하는 방법이 있는것 같은데 이건 과거 날짜일 경우에만 해당하는것으로 보입니다. (참고로 위 dag에선 catchup=True로 했습니다만 18일은 안돌아갑니다) 저처럼 미래 날짜도 자동화하고 싶을 때 config설정 변경 등 혹시 방법이 있을까요?날짜별로 task를 돌리는 dag가 있습니다. 특정 task가 어떤 날짜에는 success가 되지만 어떤 날짜는 job status가 "removed" 되었다고 하여 task가 실행되지 않습니다. failed라고 뜨면 log라도 확인해볼텐데 removed라 log로 원인파악할 수도 없습니다 (could not read served logs: request URL is missing an 'http://' or 'https://' protocol라고만 뜹니다) 이런 상황일 때원인을 파악할 수 있는 방법이 있을까요? dag를 실행하는 code가 문제라고 하기에는 동일 코드로 실행한 dag가 또 특정 날짜는 잘 돌아가고, 또 어떤 날짜는 안돌아가는 증상이라 원인을 찾기가 어려워 여쭤봅니다. 제가 유추하는 원인으로는 동일한 dag_id로 code를 조금 바꿔서 다시 실행시켰었는데 이런 증상이 처음 나타났습니다. 동일한 dag_id를 재실행 할 때 주의할 점이 있나요? (기존 dag는 airflow에서 삭제해고 다시 올렸는데도 removed되는 현상이 나타나네요)
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Elastic Beanstalk에서 도메인 클릭시 react 이미지가 안나오고 다른 화면이 나오는데
Congratulations!Your Docker Container is now running in Elastic Beanstalk on your own dedicated environment in the AWS Cloud.This environment is launched with Elastic Beanstalk Docker PlatformVideo TutorialsYouTube: Run a Docker Container from the Docker RegistryYouTube: Use Private Docker RepositoriesSample AppsGitHub: PHP and Amazon RDSGitHub: Python, DynamoDB, and SNSDocumentationDeploying Docker with AWS Elastic BeanstalkAWS Elastic Beanstalk overviewAWS Elastic Beanstalk concepts이러한 화면이 나오는데 이것도 성공한 것인가요? 아니면 제가 배포한 화면이 나와야 하지 않나요??
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 스트림즈와 커넥트 활용 사례가 더 궁금합니다.
안녕하세요 먼저 좋은 강의를 제공해주셔서 감사합니다. 바로 본론으로 들어가서, "카프카 기반 아키텍처" 섹션에서 스트림즈와 커넥트의 차이는 결국 Stateful 한 데이터에 대한 처리냐 아니냐 라고 말씀해주신거 같은데, 좀 더 구체적인 상황 사례가 있을까요? 스트림즈가 Stateful 한 데이터에 처리가 가능하다고 하는 것은 결국 스트림즈는 단일 파이프라인?, 단일 애플리케이션? 으로 구성되어야 한다는 의미일까요? (여러 파이프라인으로 분산 모드가 가능한 커넥트는 데이터 처리에 대해서 Stateful 할 수 없으니깐 말이죠)
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
http http://localhost:8083/connector-plugins 시 플러그인이 보이지 않습니다.
connect를 재가동해도 보이지가 않네요..경로 문제일까요? 아래와 같이 결과가 나옵니다.(cdc_source_connector/, jdbc_connector/ 위치에 jar 파일들은 모두 있습니다.)http http://localhost:8083/connector-pluginsHTTP/1.1 200 OKContent-Length: 296Content-Type: application/jsonDate: Fri, 15 Nov 2024 07:35:40 GMTServer: Jetty(9.4.44.v20210927)[ { "class": "org.apache.kafka.connect.mirror.MirrorCheckpointConnector", "type": "source", "version": "1" }, { "class": "org.apache.kafka.connect.mirror.MirrorHeartbeatConnector", "type": "source", "version": "1" }, { "class": "org.apache.kafka.connect.mirror.MirrorSourceConnector", "type": "source", "version": "1" }]
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 빌드 시간이 너무 오래걸려요..
너무 시간이 오래걸리길래 잠을 자고 왔는데도 빌드가 되지 않는 이유가 궁금합니다ㅠㅠㅠ 제 도커 설정에 뭔가 문제라도 있는걸까요??
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
안녕하세요 sink connector 생성 config 관련 질문입니다.
현재 JDBC Sink Connector 생성 실습중입니다. 실습환경과 버전차이가 있어서 그런건지 깃허브에 올려주신 config로 생성하는경우 mysql syntax에러가 발생하면서 오류발생으로 작동을 안합니다. 검색 결과 각 config에서 "table.name.format": "om_sink.테이블명"->"테이블명"만 작성해서 스키마 특정을 안하면 일단 동작은 하는걸 확인했습니다. 해당 사항으로 바뀌는 부분이 있을까요? 강의시작으로부터 2년이라는시간이 지나서 jdbc 커넥터에 변경사항이 발생한걸까요? 감사합니다. + 추가로 현재 7장5강 cdc source connector 실습중인데 sink connector에서 동일한 오류가 발생하여 table.name.format의 "oc_sink.order_items_sink"에서 "oc_sink"를 삭제하였는데 connection.url에 oc_sink를 지정해 주었으니 특별히 문제가 없을지요? -> 백틱(`) 으로 "`oc_sink`.`order_itmes_sink`" 이런식으로묶어주니까 동작하는 것 확인했습니다. 버전이나 어딘가의 설정 차이인것 같네요. 혹시 저같이 오류나셔서 곤란한 분 있을까 해서 남겨놓습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose down 이후에도 containers에 redis가 남아 있는 이유
섹센6의 마지막 강의를 진행 중입니다. docker-compose up 명령어 이후, containers에는 redis가 남아 있습니다. node는 내려가고, redis는 유지되는 이유가 궁금합니다.
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
sql 설치 문제
sql을 설치하고 Mysql configurator를 통해서 마지막에 execute를 시도하는데 계속 Database initialization failed. 에러가 발생합니다 ㅠㅠ처음엔 한글경로 문제인가 싶어서 이름도 모두 영어로 바꾸고 재설치도 10번은 해본거 같은데 해결이 안되네요 ㅠㅠ 혹시 해결 방법이 있을까요.. 로그 남겨둡니다.. ㅠ Beginning configuration step: Writing configuration fileSaving my.ini configuration file...Saved my.ini configuration file.Ended configuration step: Writing configuration fileBeginning configuration step: Updating Windows Firewall rulesAdding a Windows Firewall rule for MySQL911 on port 3306.Attempting to add a Windows Firewall rule with command: netsh.exe advfirewall firewall add rule name="Port 3306" protocol=TCP localport=3306 dir=in action=allow확인됨Successfully added the Windows Firewall rule.Adding a Windows Firewall rule for MySQL911 on port 33060.Attempting to add a Windows Firewall rule with command: netsh.exe advfirewall firewall add rule name="Port 33060" protocol=TCP localport=33060 dir=in action=allow확인됨Successfully added the Windows Firewall rule.Ended configuration step: Updating Windows Firewall rulesBeginning configuration step: Adjusting Windows serviceAttempting to grant the required filesystem permissions to the 'NT AUTHORITY\NetworkService' account.Granted permissions to the data directory.Granted permissions to the install directory.Adding new serviceNew service addedEnded configuration step: Adjusting Windows serviceBeginning configuration step: Initializing database (may take a long time)Attempting to run MySQL Server with --initialize-insecure option...Starting process for MySQL Server 9.1.0...Starting process with command: C:\Program Files\MySQL\MySQL Server 9.1\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 9.1\my.ini" --console --initialize-insecure=on --lower-case-table-names=1...Process for mysqld, with ID 14936, was run successfully and exited with code -1073741819.Failed to start process for MySQL Server 9.1.0.Database initialization failed.Ended configuration step: Initializing database (may take a long time)
-
미해결카프카 완벽 가이드 - 코어편
utm 환경에서 여러개의 ssh를 사용할 수 있는 법 혹은 강의처럼 테스트 해볼 수 있는 법 없을까요
mac을 이용해 강의를 진행하고 있습니다. utm 가상머신을 이용해 강의를 따라가고있는데, utm에서는 여러개의 shell을 지원하지 않는 것 같은데 어떻게 강사님처럼 스크립트 파일을 실행시켜 테스트를 해볼 수있을까요?
-
미해결카프카 완벽 가이드 - 코어편
mac m1 환경의 utm에서 여러개의 ssh 환경을 구성할 수 있을까요
너무 힘들게 강의를 따라하고있는데, 이미 강의 자료를 여러 댓글 읽기 전에 다운 받아 버려서 환불도 못하고 있는 상황입니다.mac을 사용하는 환경에서는 매우 친절하지 못한 설명들이 많네요... 이것저것 찾아가면서 하나씩 해보려고 하는데 정말 쉽지 않습니다.. utm 환경에서 현재 .sh 파일까지 어찌저찌 만들어 가면서 진행중인데 utm에서는 하나의 ui만 제공해주는 것 같은데 어떻게 강사님처럼 해볼 수 있는 방법이 없을까요?
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
수강환경 VirtualBox -> Docker
어디에 올리는 것이 적합한지 모르겠어서 여기에 올려봅니다. 혹시 virtual box 사용하여 강의 환경설정하시는 것이 조금 번거로우신 분들을 위해, 강의 실습을 진행하며 사용했던 docker-compose 파일을 공유드립니다!강의의 세부적인 부분까지 따라하진 못할수도 있지만, 좀 더 편하고 빠르게 수업을 따라가실 수 있으실거에요. 너무나 좋은 강의 감사드립니다!(사용하시게 되면 connector config 파일들에서 DB connection url localhost 부분을 mysql로 바꿔서 등록하시면 되요)name: 'plz_kafka' services: zookeeper: image: confluentinc/cp-zookeeper:7.5.3 hostname: zookeeper container_name: zookeeper ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 healthcheck: test: echo srvr | nc zookeeper 2181 || exit 1 start_period: 10s retries: 20 interval: 10s broker: image: confluentinc/cp-enterprise-kafka:7.5.3 hostname: broker container_name: broker depends_on: zookeeper: condition: service_healthy ports: - "29092:29092" - "9092:9092" - "9101:9101" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' KAFKA_JMX_PORT: 9101 KAFKA_JMX_HOSTNAME: localhost KAFKA_CONFLUENT_SCHEMA_REGISTRY_URL: http://schema-registry:8081 healthcheck: test: nc -z localhost 9092 || exit -1 start_period: 15s interval: 5s timeout: 10s retries: 10 kafka-connect: image: confluentinc/cp-kafka-connect-base:7.7.1 container_name: kafka-connect depends_on: - broker # - schema-registry ports: - 8083:8083 environment: CONNECT_BOOTSTRAP_SERVERS: "broker:29092" CONNECT_REST_PORT: 8083 CONNECT_GROUP_ID: kafka-connect CONNECT_CONFIG_STORAGE_TOPIC: _connect-configs CONNECT_OFFSET_STORAGE_TOPIC: _connect-offsets CONNECT_STATUS_STORAGE_TOPIC: _connect-status CONNECT_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter # CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: 'http://schema-registry:8081' CONNECT_REST_ADVERTISED_HOST_NAME: "kafka-connect" CONNECT_LOG4J_APPENDER_STDOUT_LAYOUT_CONVERSIONPATTERN: "[%d] %p %X{connector.context}%m (%c:%L)%n" CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: "1" CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: "1" CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: "1" # --------------- CONNECT_PLUGIN_PATH: /usr/share/java,/usr/share/confluent-hub-components # If you want to use the Confluent Hub installer to d/l component, but make them available # when running this offline, spin up the stack once and then run : # docker cp kafka-connect:/usr/share/confluent-hub-components ./data/connect-jars volumes: - $PWD/data:/data # In the command section, $ are replaced with $$ to avoid the error 'Invalid interpolation format for "command" option' command: - bash - -c - | echo "Installing Connector" confluent-hub install --no-prompt debezium/debezium-connector-mysql:1.7.0 confluent-hub install --no-prompt jcustenborder/kafka-connect-spooldir:2.0.65 confluent-hub install --no-prompt confluentinc/kafka-connect-jdbc:10.8.0 curl -o /usr/share/confluent-hub-components/confluentinc-kafka-connect-jdbc/lib/mysql-connector-java.jar \ https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar # echo "Launching Kafka Connect worker" /etc/confluent/docker/run & # sleep infinity schema-registry: image: confluentinc/cp-schema-registry:6.2.0 container_name: schema-registry ports: - "8081:8081" depends_on: - broker environment: SCHEMA_REGISTRY_HOST_NAME: schema-registry SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: broker:29092 mysql: image: mysql:8.0 container_name: mysql environment: # 환경 변수 설정 MYSQL_ROOT_PASSWORD: root MYSQL_USER: 'connect_dev' MYSQL_PASSWORD: 'connect_dev' MYSQL_DATABASE: om TZ: Asia/Seoul ports: - "3306:3306" volumes: - ./mysql/:/var/lib/mysql
-
미해결15일간의 빅데이터 파일럿 프로젝트
클라우데라 ERR_SSL_PROTOCOL_ERROR 문제
안녕하세요VM환경구성 중 클라우데라가 접속이 안되어 질문드립니다.기존에 잘 접속이 되었었는데,CPU와 메모리 문제로 가상서버 2개를 구동하면컴퓨터가 다운이 되어 작업이 불가능한 상태였습니다그래서 램16GB, SSD 1TB를 추가하였는데요이후에 가상서버를 실행 후 클라우데라 접속이 되지 않습니다ㅜㅜserver01.hadoop.com:7180입력 후 화면기존에 C드라이브에 프로젝트 서버 파일과 버츄얼박스를 깔아두었는데 D드라이브로 옮겨 실행하니 되지 않았습니다.다시 모두 지우고, C드라이브에 프로젝트파일, 버츄얼박스 설치후 실행하여도 동일하게 프로토콜 에러가 나네요ㅜ 구글링을 해보았지만 .. 초반에 디스크 공간이 부족한 상태에서도 클라우데라 매니저 접속이 되었던걸 생각하면 어떤게 무엇인지 잘 파악이 되지 않습니다.버츄얼박스 서버2개 실행후 컴퓨터 성능 현황은 아래와 같습니다 메모장으로 hosts 파일 수정도 완료한 상태입니다. 버츄얼박스는 커뮤니티에 이전분들이 올려주신 질의내용 참고하여 제일 최근 버전(VirtualBox-7.0.20)으로 사용하고 있습니다.
-
해결됨데이터베이스 중급(Modeling)
강의 교재가 어디에 있나요?
강의 교재가 제공된다고 하셨는데 강의 교재가 어디에 있나요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
kafka retention 관련하여 질문드립니다.
안녕하세요, 좋은 강의를 통해 카프카에 대해 학습하고 있어 우선 감사 인사 드립니다. kafka retention을 시간 단위로 설정한 경우 액티브 세그먼트가 아닌 세그먼트에 대해 생성일 기준으로 설정한 시간이 지났을 때 삭제된다고 설명해주셨는데, retention이 레코드 단위가 아닌 세그먼트 단위로 발생하다보니 세그먼트의 마지막 레코드의 경우 특정 상황에서 저장되자마자 삭제되는 상황도 발생할 수 있을 것 같은데 맞는지 궁금합니다. 위의 케이스가 발생할 수 있는 케이스라면 해당 상황에서 장애가 발생하였을 때 메시지를 확인하지 못하는 문제가 있을 것 같아요. 이럴 때는 어떻게 대처할 수 있을까요? 추가로 레코드 단위로 retention을 처리할 수 있는 방법도 있을까요?
-
미해결Airflow 마스터 클래스
airflow No host supplied 에러
안녕하세요, 강사님. 자세한 설명 덕분에 열심히 듣고 있습니다. 다름이 아니라 며칠 전만 해도 업로드하고 나서 잘 돌아갔는데 최근에는 에어플로어에 업로드만 되면 위 사진과 같이 동일 내용으로 에러가 납니다. 검색해서 해결해보려 했는데 도저히 해결이 되지 않아서 문의 드립니다! yaml 파일에서 webserver에서 environment 추가도 해 봤는데 전혀 해결되지 않아요. 도와주시면 감사드리겠습니다 ㅠㅠ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 볼륨이 작동이 안되는것 같아서 질문드립니다!
안녕하세요 덕분에 도커를 이해하기 시작한 수많은 수강생 중 한명입니다! 다름이 아니라 도커볼륨을 이용한 소스 코드 변경 강의에서 운영체제가 window라서 docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v %cd%:/usr/src/app {이미지 이름} 를 해도 볼륨이 작동하지 않고 $(pwd) 로 바꾸어서 실행을 시켜봐도 실시간으로 수정이 되지 않아서 질문 드립니다!
-
미해결Airflow 마스터 클래스
Label 설정 질문드립니다.
t1 >> [t2, t3, t3] 의 실행흐름에서 t1 >> Label('description') >> [t2, t3, t3] 으로 설정했을때 그래프에서 모든 분기에 설명이 공통으로 설정되는것을 확인했습니다. 그런데 각각의 실행흐름에 대해 라벨링을 하고싶을때는t1 >> Label('dscritpion') >> t2t1 >> Label('dscritpion') >> t3 이렇게 설정하는방법말고 다른 방법은 없을까요? 예를들어 t1 >> [Label('description'), Label('description')] >> [t2, t3]이렇게는 설정이 안되는것으로 보여서요
-
미해결Airflow 마스터 클래스
relativedelta 실행 결과 문의
now = datetime(year=2023, month=3, day=30) print('현재시간:' + str(now)) print('-----------------월 연산 --------------------') print(now + relativedelta.relativedelta(months=1)) print(now.replace(month=1))위의 코드 실행 결과가 다르게 나오는 것 같은데요..1개월 후면 4월30일이 맞는 것 아닌가요?현재시간:2023-03-30 00:00:00 -----------------월 연산 -------------------- 2023-04-30 00:00:00 2023-01-30 00:00:00감사합니다.
-
미해결Airflow 마스터 클래스
Bash Operator & 외부 쉘파일 수행하기 강의 질문
Bash Operator & 외부 쉘파일 수행하기강좌에서 보여주신내용을 따라하던중 쉘스크립트를 파라미터없이 작성했는데 파라미터가 없는경우 airflow에서 위치를 못찾고jinja2.exceptions.TemplateNotFound: /opt/airflow/plugins/shell/select.sh 에러를 발생시키는데 파라미터의 유무로 경로를 찾고/못찾고가 차이나는 원인이 무엇인지 궁금해서 질문드립니다.
-
미해결Airflow 마스터 클래스
task 연결 질문입니다.
t1 >> t3t2 >> t3 이렇게 테스크를 연결했을때 case 1 : t1, t2 둘다 종료되어야 t3가 실행되는지 case 2 : t1이 종료되었을떄, t2가 종료되었을때 각각 t3가 한번씩 실행되는지 궁금합니다. 위의 방법과 [t1, t2] >> t3 가 동등하다고 설명해주셨는데case 1, case2 두가지 방법을 설정하고싶을때는 어떻게 처리하면 될까요?