묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
이해한게 맞는지 문의 드리고 싶습니다.
안녕하세요. 강의 끝까지 잘 들었습니다.이해한 바가 맞는지 궁금해서 문의 드립니다.카프카 커넥트데이터 파이프라인을 반복적이라고 하는 것이 1분에 한번씩 브로커로 Record를 전송하고 이를 Consumer에서 가져와서 사용하는 경우에 카프카 커넥터가 적합하다고 하신 것으로 이해하면 될까요? 반면 1회 데이터를 Producer가 전송하고 Consumer가 처리하는 경우에는 일반적인 Producer/Consumer가 적합하다는 것으로 이해했는데 맞는지 궁금합니다.Producer/Consumer or Source Connector/Sync ConnectorProducer(Source Connector)쪽이 3개의 Server, Consumer쪽이 3개의 서버로 구성된다고 할때 실제 각 Producer/Consumer는 개별 서버에서 Application을 실행시켜줘야 하는 것으로 이해가 되는데 이게 맞을까요?좋은 강의 제공해주셔서 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
ER_TABLE_EXISTS_ERROR:
db.pool.query(`CREATE TABLE list ( id INTEGER AUTO_INCREMENT, value TEXT, PRIMARY KEY (id))`, (err, results, fields) => { console.log('err: ', err); console.log('results: ', results); });server.js 의 위 부분 실행시, 아래와 같은 오류가 출력되는데 어떤 부분을 수정해야될까요?참고로 테이블명은 강의와 다르게 list로 했고, err 확인을 위해 console.log('err: ', err); 추가했습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose up 시 에러
docker-compose up 을 실행하면 아래와 같은 에러가 발생하고,nginx: [emerg] host not found in upstream "frontend:3000" in /etc/nginx/conf.d/default.conf:3docker ps 를 해봤을 때, nginx와 mysql 이름으로된 컨테이너는 있는데 frontend, backend는 없는걸로 봐서 호스트나 포트를 못찾는게 맞는 것 같긴해요.깃헙에 있는 파일들 비교했을 때는 틀린부분이 없는 것 같은데, 어떤부분을 확인해보는게 좋을지 알려주실 수 있나요 ? 구글링한 정보 를 적용해봐도 같은 에러가 나오네용..ㅠㅠ
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
크롤링에서 sub_category가 작동되지 않습니다
"[참고] 크롤링과 데이터베이스 - 크롤링 코드 작성 시작 (업데이트)" 5분10초에서, G마켓 내용이 일부 변동이 발생해서 인지 sub_category가 작동되지 않습니다. sub_categories = soup.select('div.navi.group ul li a')이 부분이 작동 되지 않는 것 같은데 제가 웹크롤링이 초보라서 해결할수가 없네요 ㅠ
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
안녕 하세요
안녕 하세요 궁금한 사항이 있어서 문의드립니다.Debezium CDC source connector 강의 내용중redo 로그에 commit되지 않은 데이터도 쓰여진다고 말씀해주셨는데요저보다 당연히 잘 아시겠지만 제가 알기로는 commit하면 버퍼에 쌓이고 디스크에는 반영되지 않고 그 이후에 주기적으로redo log에 쌓이는 것으로 알고 있습니다즉 commit이 되어야 redo log에 쌓이는 걸로 알고 있는데 제가 잘못알고 있는걸까요? 감사합니다.
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
CCDAK 문의
이왕 강의를 들은 김에 자격증도 한번 생각해보려고 하는데요.강의 내용만 충실하게 들으면 자격증 시험에 도전해볼만할까요?아니면 별도로 더 준비를 해야 하는지 궁금합니다.
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
Git 코드에 ', '빠져 있습니다.
https://github.com/chulminkw/KafkaConnect/blob/723d598394241434f424184998176c903c0967f9/%EC%8B%A4%EC%8A%B5%EC%88%98%ED%96%89/JDBC%20Sink%20Connector%20%EC%8B%A4%EC%8A%B5.mdSource 테이블과 연계하여 Sink 테이블에 데이터 연동 테스트다른 테이블에 대해서도 Sink Connector를 생성하고 Source 테이블에 데이터 입력하여 Sink(Target) 테이블에 데이터가 동기화 되는지 확인.products_sink용 sink connector를 위해서 아래 설정을 mysql_jdbc_sink_products.json 파일에 저장.{ "name": "mysql_jdbc_sink_products", "config": { "connector.class":"io.confluent.connect.jdbc.JdbcSinkConnector", "tasks.max": "1", "topics": "mysql_jdbc_products", "connection.url": "jdbc:mysql://localhost:3306/om_sink", "connection.user": "connect_dev", "connection.password": "connect_dev", "insert.mode": "upsert", "pk.mode": "record_key" "pk.fields": "product_id", "delete.enabled": "true", "table.name.format": "om_sink.products_sink", "key.converter": "org.apache.kafka.connect.json.JsonConverter", "value.converter": "org.apache.kafka.connect.json.JsonConverter" } } 실습하다가 발견해서 제보드립니다.해당부분 Git에 "pk.mode": "record_key" 다음에 쉼표가 없어 register_connector 가 작동되지 않았었습니다.쉼표를 추가하니 해결되었습니다 ㅎㅎ
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
안녕하세요~~
kafka-console-consumer --bootstrap-server localhost:9092 --topic spooldir-test-topic --from-beginning --property print.key=true으로 명령어를 쳤을 경우 응답 값이 강사님의 경우에는 schema와 payload로 값이 나오는데 저 같은 경우에는Struct{} {"id":"1000","first_name":"Phineas","last_name":"Frede","email":"pfrederr@weather.com","gender":"Male","ip_address":"59.83.98.78","last_login":"2015-12-04T22:18:07Z","account_balance":"14095.22","country":"PK","favorite_color":"#4f2f2b"}이렇게 나오게 되는데요버전 차이 일까요? connector 설정은 아래와 같습니다{ "name": "csv_spooldir_source", "config": { "tasks.max": "3", "connector.class": "com.github.jcustenborder.kafka.connect.spooldir.SpoolDirCsvSourceConnector", "input.path": "/home/appuser/spool_test_dir", "input.file.pattern": "^.*\\.csv", "error.path": "/home/appuser/spool_test_dir/error", "finished.path": "/home/appuser/spool_test_dir/finished", "empty.poll.wait.ms": 30000, "halt.on.error": "false", "topic": "spooldir-test-topic", "csv.first.row.as.header": "true", "schema.generation.enabled": "true" } }감사합니다.
-
해결됨15일간의 빅데이터 파일럿 프로젝트
데이터 적재 과정중 의견 주시면 감사하겠습니다.
환경 문제로 인하여 Oracle Cloud Vm 서버 3개를 별도로 띄어 실습 환경을 구성하였습니다.문제는 Hbase 에 적재가 안된다는 것입니다.일단 환경구성에서 모든 모듈들을 latest기준으로 구성을하여서 강의내용과는 다를수가 있을듯한데요.데이터 수집 적재 파이프라인 에서 kafka 까지 들어오는것은 확인하였으나 storm 토폴로지에서 kafkaspout 에서 반응이 없는것으로 봤을때 bigdata.smartcar.storm-1.0.jar 에서 바라보는 어떠한 환경설정정보가 맞지 않아 생긴문제로 생각이되어 소스를 봤으나 별다르게 찾은것은 없습니다.zookeeper cli 에서는 kafa producer 노드가 있는것은 확인했고 SmartCar-Topic 노드는 없는것으로 확인했습니다.혹시 놓친부분이 있을까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
aws 502 에러
안녕하세요 강사님좋은 수업 감사드립니다.강의에 나온대로 코드 작성하고 travis에서도 테스트/빌드 성공했는데 aws에서 502 bad gateway 에러가 발생합니다.Dockerfile 에 EXPOSE 80 도 추가했는데 무엇이 원인인지 잘 모르겠습니다.한번 봐주시고 답변 주시면 정말 감사드리겠습니다. ㅜㅜ
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
Incrementing 모드로 JDBC Source Connector 생성하기 질문
고생하십니다.질문은 해당 강의 진행중에 에러가 발생하여 질문드립니다. vi ~/connector_configs/mysql_jdbc_om_source_00.json을 통한 사전 설정값{ "name": "mysql_jdbc_om_source_00", "config": { "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "tasks.max": "1", "connection.url": "jdbc:mysql://localhost:3306/om", "connection.user": "connect_dev", "connection.password": "connect_dev", "topic.prefix": "mysql_om_", "topic.creation.default.replication.factor": 1, "topic.creation.default.partitions": 1, "catalog.pattern": "om", "table.whitelist": "om.customers", "poll.interval.ms": 10000, "mode": "incrementing", "incrementing.column.name": "customer_id" } } 명령실행값http POST http://localhost:8083/connectors @mysql_jdbc_om_source_00.json명령 결과값HTTP/1.1 201 Created Content-Length: 566 Content-Type: application/json Date: Tue, 25 Apr 2023 01:47:21 GMT Location: http://localhost:8083/connectors/mysql_jdbc_om_source_00 Server: Jetty(9.4.44.v20210927) { "config": { "catalog.pattern": "om", "connection.password": "connect_dev", "connection.url": "jdbc:mysql://localhost:3306/om", "connection.user": "connect_dev", "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector", "incrementing.column.name": "customer_id", "mode": "incrementing", "name": "mysql_jdbc_om_source_00", "poll.interval.ms": "10000", "table.whitelist": "om.customers", "tasks.max": "1", "topic.creation.default.partitions": "1", "topic.creation.default.replication.factor": "1", "topic.prefix": "mysql_om_" }, "name": "mysql_jdbc_om_source_00", "tasks": [], "type": "source" } 이렇게 post를 통해서 올렸을 때, CONNECT쪽에서 아래와 같은 문제가 계속 발생하고 있습니다. Either no records were produced by the task since the last offset commit, or every record has been filtered out by a transformation or dropped due to transformation or conversion errors. (org.apache.kafka.connect.runtime.WorkerSourceTask:484)connect에 에러가 발생해 일단 강의 진행을 멈춘 상태입니다. 제가 혹시 놓친 부분이 있을지 질문드립니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
nginx에 대해서
좋은 강의 잘 보고 있습니다. 감사합니다.nginx에 대한 감이 잘 안잡혀서 그러는데,개발환경에서는 서버로 http 요청이 오면 개발서버가 그에따른 정적파일을 제공하고,운영환경에서 서버로 http 요청이오면 nginx가 그에따른 정적파일을 제공한다라고 이해하면 될까요 ?그리고 위에서 말하는 개발환경은 개발이 로컬 머신에서만 이루어지는 걸 의미하는게 맞을까요 ?
-
미해결15일간의 빅데이터 파일럿 프로젝트
하둡 연결 문제...Connection refused + 클라우데라 접속 안되는 문제
안녕하세요, 빅디님!차근차근 따라하려고 하는데.. 한 강 한강 막히고 있습니다.. 하둡과 주키퍼 명령 사용해보기 강의보며 실습중인데,명령어가 먹히지 않습니다.. 연결이 안되는 에러로 보여서 클라우데라 접속하려고 했더니 클라우데라도 접속이 안됩니다. 빅데이터 클러스터 구성 4 강의 까지는 다 따라한 상태입니다. 클라우데라 접속해서 하둡과 주키퍼 설치까지 완료하였고 일주일? 지난 후 다시 접속해서 그 이후 과정 따라하려고 하니 접속에러 & 연결에러가 뜨고 있습니다............ ㅠㅠ 막힘없이 쭉쭉 나가고 싶은데 ,, 대체 무슨문제일까요 ? 저 같은 에러를 경험하신 분이 있을까 싶어 이전 질문글을 살펴봤는데 파일럿 PC의 용량이 존재해야 한다고 하여 정리도 하고, 실행했습니다.많이 사용하긴 했지만 212GB가 남아있는 상황입니다.. 실습 쭉 따라하고 싶습니다..빅디님.....ㅠ_ㅠ!! ++로그 확인이상 없음.(참고로 모바텀을 사용하고 있어서 파일질라는 사용안하고 모바텀으로 바로 Sample.txt -> /home/bigdata 로 올렸습니다. 파일 잘 올라온 것 확인했습니다.) 감사합니다.
-
미해결카프카 완벽 가이드 - 코어편
컨슈머 배포 질문
안녕하세요.현재 k8s 환경에서 롤링 업데이트를 통해 팟을 배포하는 방식을 채택하여 사용중에 있습니다.메시지 컨슈밍 퍼포먼스를 줄여주기 위해 리밸런싱 시간을 줄여주는게 굉장히 중요하다는 생각이 드는데요.강의를 보다보니 Static membership과 Cooperative sticky 2가지 방식이 이에 적합한 것 같아 보입니다.실제 프로덕션 레벨에서는 어떠한 방식을 사용하는지 궁금합니다!
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
안녕 하세요~~
2가지 궁금한게 있는데요첫번째는 카프카 커넥트와 직접 코드로 구현되는 컨슈머 중 하나를 선택해야 할 때 어떤 기준으로 선택하는 것이 좋을까요?커넥트 장점을 보면 추측은 가능하지만 경험이 없으니 실무에서 어떨 때는 커넥트, 어떨 때는 컨슈머 직접 구현을 선택할 수 있는지(이건 경험 꽤 많아요) 기준이 궁금합니다 두번재는 자동으로 토픽 생성시에 시스템 종료하면 어떤게 문제가 될까요?그레이스 풀 셧다운 관련인지 어떤 문제가 생기는지 궁금합니다 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의 pdf, 구글 드라이브에 대해 질문있습니다!
안녕하세요강사님의 도커강의 잘 듣고 있습니다.다름이 아니라 제가 현재 도커 강의를 복습하고 있는데, pdf파일이나 구글drive에서 강의 자료 파일을 확인해보면, 반정도 짤려있거나, 깨져있었습니다.혹시 window pdf나 구글 드라이브에 있는 파일 다시 올려주실 수 있으실까요?
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
kafka 에 직접 넣은 데이터를 sink connector로 보내는 방법
안녕하세요 자주 질문을 드리게 되어 죄송합니다.데이터가 이동하면서 아래와 같은 작업이 이루어지는 것을 강의를 통해 이해했습니다.source connector --> kafka : 직렬화kafka --> sink connector : 역직렬화 그렇다면 혹시 java 를 사용하여 kafka로 바로 데이터를 적재 할 경우 sink connector로 데이터를 보낼 수가 있을까요?? 역직렬화 작업이 안될 것으로 보여서 가능한지 질문 드립니다.가능하지 않다면 java로 kafka를 보낼 때 직렬화 작업이 된 상태로 보내야 할까요??
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
서버에 카프카 컨슈머를 계속올려놓을경우 종료를 해야하나요?
안녕하세요! 제가 카프카 컨슈머 애플리케이션을 개발해서aws 서버에 올려놓고 계속 컨슈밍을 할 예정입니다.강의에서 컨슈머의 안전한 종료 파트를 듣고 질문이 생겨 글을 남깁니다.이렇게 서버에 계속 올려놓고 컨슈밍을 받아야할때 컨슈머의 종료가 필요한가요?만약 필요하다면 종료된 컨슈머는 어떻게 재실행이 되는 건지 여쭤볼 수 있을까요? 일단 저는 스프링기반 카프카 컨슈머를 개발하였고 Runnable 인터페이스로 run() 메서드로 서버가 실행되면 바로 컨슈머가 실행되게 개발해놓은 상태입니다. 저의 코드입니다.@PostConstruct public void startConsuming() { Thread consumerThread = new Thread(new Consumer()); consumerThread.start(); } private class Consumer implements Runnable { private final Logger logger = LoggerFactory.getLogger(Consumer.class); private final static String TOPIC_NAME = ""; private final static String BOOTSTRAP_SERVERS = ""; private final static String GROUP_ID = ""; public void run() { try { Properties configs = new Properties(); configs.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS); configs.put(ConsumerConfig.GROUP_ID_CONFIG, GROUP_ID); configs.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName()); // 구독 중인 주제 파티션에서 사용 가능한 가장 빠른 오프셋부터 읽기 configs.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); configs.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "30000"); configs.put(ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, "5000"); configs.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, "300000"); KafkaConsumer<String, String> consumer = new KafkaConsumer<>(configs); consumer.subscribe(Arrays.asList(TOPIC_NAME)); while (true) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(1)); for (ConsumerRecord<String, String> record : records) { logger.info("record: {}", record); // 받은 메세지 String value = record.value(); // commit the offset consumer.commitSync(Collections.singletonMap( new TopicPartition(record.topic(), record.partition()), new OffsetAndMetadata(record.offset() + 1))); } } } catch (Exception e) { logger.error("Error occurred while consuming messages", e); } } }
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
질문있어요!
mySQL과 카프카 연결로 강의해주셨는데요아직 일부만 수강한 상태입니다.debezium이 차후에는 싱크 커넥터들을 데이터베이스 상관없이 지원할거같기도해서mySQL말고도 강의를 참고해서오라클 SQL, MSSQL에도 카프카를 연결하고 싶습니다.이때 접근방향이나 차이점등이 궁금한데 혹시 경험해보신적있다면 조언받고 싶습니다. 감사합니다
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 이해
제가 카프카에 대한 구조와 사용법을 이해하지 못해서 학습 재미가 떨어지는데요.카프카를 이렇게 써야 하는지를 맞는지가 궁금합니다. 많은 영상을 봤지만서도 사용법이 잘 이해가 안되서 질문드립니다