묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Orders Microservice 수정 - MariaDB 강의에서 order-service 실행이 안됩니다..
안녕하세요 강사님 강의 잘 보고 있습니다. https://www.inflearn.com/questions/641464제가 예전에 위에 링크로 질문을 했었는데.. 아직까지도 해결이 되지 않아서 다시 메일을 보냅니다.지금은 전에 질문 했던 것 과 조금 다른 상황이라 위에 링크는 잊으셔도 됩니다.현재 데이터 동기화를 위한 Apache Kafka의 활용 ②Orders Microservice 수정 - MariaDB 부분을 수강중입니다. 현재 mariadb를 연결시키면 order-service가 실행 안되는 문제입니다.당연히 콘솔과 heidisql에서 mariadb 접속이 아주 잘됩니다. 문제는order-service에 mariadb 를 설정하고 실행시켰는데 다음과 같은 에러가 발생하면서 실행이 안됩니다.java.sql.SQLInvalidAuthorizationSpecException: Could not connect to address=(host=localhost)(port=3307)(type=master) : (conn=3) Access denied for user 'root'@'localhost' (using password: YES)Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding' 그래서 grant all privileges on root.* to root@'localhost' identified by '비밀번호입력';grant all privileges on root.* to root@'%' identified by '비민번호입력';해서 다음과 같은 상태를 만들었습니다.그럼에도 불구하고 order-service를 실행시키면 실행이 되지 않습니다..분명히 명령프롬프트 창으로도 heidisql 같은 툴로도 접속이 아주 잘됩니다.해결책은 에러 검색해보면 나오는 해결책은 제가 적용한 해결책하고 동일합니다..전에 안되면 order-service 압축파일을 메일로 보내다랄고 하셔서 도저히 해결이 안되서 메일 한번 보내봅니다..메일 한번 확인해 주시면 감사하겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
윈도우에서 카프카 토픽 삭제 시, 카프카가 실행이 안됩니다..
https://www.inflearn.com/questions/644825제가 예전에 올린 글입니다.질문한 글에 댓글을 또 달았었는데 도저히 해결을 할 수 가 없어서 다시 질문올립니다. 제가 윈도우 환경에서 카프카 토픽을 삭제 했는데그 뒤로 답글로 제시해주신 해결책을 해보려고 해도 해볼 수가 없었습니다..즉, C:\Temp 디렉토리 하위에 zookeeper, kafka 폴더가 전혀없고저의 C:\Temp 아래는 폴더 구조는 다음과 같습니다..2020(폴더)HncDownload(폴더)Service.logAUtempR(폴더 - 안에 아무것도 없음) 그리고 기존 에 사용하고 있던 Kafka환경 폴더(강의에서 제공해주신 폴더)를삭제하고 다시 압축을 풀어서 압축을 푼 경로에zookeeper와 kafka를 실행해도 zookeeper는 실행되고 kafka는 실행되지 않습니다...즉, 동일한 에러가 발생하네요..대체 어떤 걸 지워야지 다시 kafka서버가 정상 실행될까요? 참고로 자료 올려주신 윈도우용 카프카 파일 전부 삭제하고 다시 압축 풀고 설정해도토픽목록은 동일한 에러로 안보이고, 카프카 역시 동일한 에러로 켜지지 않습니다..감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카 토픽안쓰고 저장하면 대용량 처리에 불리한 이유가 있나요?
안녕하세요 강의를 듣다가 궁금증이 카프카 토픽을 안쓰고 저장하면 대용량 처리에서 불리한 이유가 있나 싶어 궁금해 졌습니다. 우선 인터넷에서 검색해서 찾아본 봐로는그러면 카프카 사용하면 대용량 처리에 유리한 이유가병렬처리에 의한 데이터 처리율 향상 : 카프카는 아래 보실 아키텍처에 보면 데이터를 병렬로 처리함으로서 데이터를 빠르고 효과적으로 처리할 수 있습니다. disk에 순차적으로 데이터를 적재하기 때문에 임의 접근(random access) 방식보다 훨씬 더 빠르게 데이터를 처리합니다.데이터 유실 방지 : disk에 적재되기 때문에 만약 불의의 사고로 서버가 다운되었을 시에도 데이터가 유실되는 일 없이 재시작하여 기존 데이터를 안정적으로 처리 가능합니다.클러스터링에 의한 고가용성 서비스 : Scale-out이 가능하여 시스템 확장이 용이하며 어떤 하나 혹은 몇 개의 서버가 다운되도 서비스 자체가 중단될 일 없이 시스템이 운용가능합니다.출처 : https://engkimbs.tistory.com/691정도로 보이는데요 그렇다면토픽을 사용하는 경우와카프카 커넥트를 사용하는 경우가 있었는데 (프로듀서, 컨슈머를 파이프라인을 매번 구성하기 힘들어서 사용하는 것으로 알고 있습니다.)그러면 우선 첫번째 질문은토픽을 사용할 때와 카프카 커넥트를 사용할 때 모두 카프카가 알아서 병령처리를 해주고 데이터 유실 방지를 해주는 건가요?? 또한 두번째 질문은 강의에서 order-service를 여러 개 띄우고 주문 요청을 여러 번 하면여러 개의 order-service의 db에 나눠서 저장을 하는 식으로 했는데요현업에서 MSA환경에서 프로젝트할 때도예를들면 order-service, user-service, catalog-service 각각 db를 하나씩 사용하는게 일반적인 방법인가요? 즉, 각 서비스마다 db를 하나씩 두는 것이 일반적인 방법인가요? 세번째 질문은 강의에서order-service를 여러개 띄우고 하나의 db에 저장하는 방식을 사용했는데즉, Kafka Topic에 설정된 Kafka Sink Connect를 사용해 단일 DB에 저장 했서 데이터를 동기화 했는데.그러면 카프카 커넥트를 사용하지 않고는 여러개의 order-service를 단일 db에 저장할 수 없나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카 topics 삭제 질문이요...
현재 기존에 있던 orders와 my_topic_users 토픽을 삭제하려고한다./c/Work/Kafka-practice/kafka 위치에서$ ./bin/windows/kafka-topics.bat --bootstrap-server localhost:9092 --list 명령어로 토픽이름 확인하니까 다음과 같이 나옵니다.__consumer_offsetsconnect-configsconnect-offsetsconnect-statusexample-catalog-topicmy_topic_usersorders/c/Work/Kafka-practice/kafka 위치에서$ ./bin/windows/kafka-topics.bat --delete --topic orders --bootstrap-server localhost:9092 이렇게 orders 토픽 삭제 명령어를 입력했습니다.(입력후 새로운 경로창 이 나오며 커맨드라인이 명령어 먹은것 처럼 일어남)그러고 나서 다시$ ./bin/windows/kafka-topics.bat --bootstrap-server localhost:9092 --list 명령어로 토픽 리스트를 보려고하는데..아래와 같은 에러가 나서 검색해보니까[2022-09-06 14:33:35,758] WARN [AdminClient clientId=adminclient-1] Connection to node -1 (localhost/127.0.0established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)현재 zookeeper 실행시킨다음./bin/windows/kafka-server-start.bat ./config/server.properties 명령어로 kafka 실행시켜도 안켜집니다./c/Work/Kafka-practice/kafka 위치에서vim ./config/server.properties 으로 해당 파일 접속하면listeners=PLAINTEXT://:9092 부분 이 주석 되있는데이 부분을 주석 해제하고 저장했습니다.그래도 여전히 동일한 오류로 kafka는 안켜지며토픽리스트 또한 동일한 에러가 나면서 안보여집니다..그래서 일단 listeners=PLAINTEXT://:9092 부분 다시 주석으로 원복 시켰습니다.그리고나서 동일한 ./config/server.properties 파일에서#advertised.listeners=PLAINTEXT://your.host.name:9092이 부분을 주석 풀고 아래처럼 변경함advertised.listeners=PLAINTEXT://localhost:9092그래도 여전히 kafka는 안켜지며 토픽리스트도 안보여집니다...kafka 실행시키면 에러나면서 꺼지는데마지막에는 다음과 같은 에러가 발생합니다...[2022-09-06 15:08:10,341] INFO [ReplicaAlterLogDirsManager on broker 0] Removed fetcher for partitions Set(orders-0) (kafka.server.ReplicaAlterLogDirsManager)[2022-09-06 15:08:10,351] ERROR Shutdown broker because all log dirs in C:\tmp\kafka-logs have failed (kafka.log.LogManager)검색하고 해볼 수 있는건 다 해봐서그냥 windows로 올려주신 카프카 설정을 다시 다운받고 할까 생각중인데..그래도 왜 안되는지는 알아야할 것같습니다..어떻게하면 이 상황을 해결할 수 있을까요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
커넥터마다 다른 컨버터 사용
안녕하세요 선생님. 커넥트를 실행할 때 설정 파일에 key.converter, value.converter와 같은 값들이 있는데, 이런 값들을 커넥트 단위가 아니라 커넥터 단위로 주려면 어떻게 해야 하나요? 예를 들어, MySQL의 싱크 커넥터, 몽고DB의 소스 커넥터 이런 식으로 각각 다르게 주려면 어떻게 하나요? REST API로 커넥터를 등록할 때 json에 값을 넣어주면 덮어쓰기 되는 식으로 혹시 동작하나요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
시리얼라이저 vs 컨버터
안녕하세요. 프로듀서/컨슈머 애플리케이션에 있는 시리얼라이저/디시리얼라이저와 커넥터에 있는 컨버터가 같은 건가요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
소스DB에서 데이터 삭제시 카프카에서 일어나는 일
안녕하세요. 세그먼트 파일 삭제와 관련해서 질문 드립니다. 1. 만약 MySQL과 같은 DB를 프로듀서에서 사용하고, 카프카 브로커와 Debezium connector같은 걸로 연결되어 있다고 할 때, MySQL 소스 DB에서 데이터 삭제가 발생하면 브로커는 이를 어떻게 처리하나요? 브로커에서도 MySQL DB와 데이터 상태를 같게 하기 위해 뭔가 레코드 단위의 삭제가 필요할 것 같은데 어떻게 될지 궁금합니다. 2. 또 한가지 궁금한 점은, 혹시 브로커에 저장되는 로그 파일들은 append-only 방식으로 저장되나요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카 영속성 관련 질문
안녕하세요. 영속성 관련해 질문 드립니다. - 데이터를 파일 시스템에 저장함으로써 영속성을 얻게 되고 - 한 번 읽은 데이터를 페이지 캐시 메모리 영역에 놔둠으로써 처리량 또한 높게 유지할 수 있다 저는 이렇게 이해했는데, 이렇게 했을 때 컨슈머 쪽에서 Read는 빠르겠지만 프로듀서 쪽에서 Write하는 속도는 여전히 느릴 것처럼 느껴지는데 이 문제는 배치로 처리함으로써 해결하는 건가요? 혹시 컨슈머 속도 대비 프로듀서의 속도가 느려서 컨슈머 쪽에서 컴퓨팅 리소스 낭비가 생기는 경우는 없나요? 보통 프로듀서의 데이터가 브로커에 도착하는 속도와 컨슈머가 브로커의 데이터를 읽어가는 속도 중 어느 쪽이 더 빠른가요?
-
미해결[데브원영] 아파치 카프카 for beginners
카프카 복구를 위한 offset 관련해서 질문이 있습니다.
먼저 좋은 강의 감사드립니다. 카프카 도입을 위해서 학습중인데 책과 더불어 강의가 큰 도움이 되네요. 강의를 듣다보니 궁금한 점 하나가 생겨서 문의를 남깁니다. Consumer의 경우 연결이 끊어져도 offset 위치를 기억하고 있기 때문에 해당 offset 부터 읽어올 수 있어서 데이터 유실을 막을 수 있는 것으로 설명해주셨는데요. 만약에 Consumer 엔진이 비정상적으로 종료되고 재기동이 되었을 때에도 유실된 시점 offset 부터 읽어 올 수 있는 건가요? 해당 offset에 대한 위치 기억은 kafka에서 하는 것인지? 명확하게 이해하고 싶어서 질문드립니다. 감사합니다.
-
미해결15일간의 빅데이터 파일럿 프로젝트
카프카에서 토픽 생성과 카프카 콘솔 프로듀서 사용 명령어 관련 질문
안녕하세요 토픽 생성을 할 때에 [카프카 토픽] kafka-topics --create --zookeeper .... 이렇게 토픽을 생성하는데요 여기서 질문이 있습니다. 1. 토픽 생성과 주키퍼서버를 지정해주는 것은 어떤 관계가 있는건가요? 주키퍼는 말씀해주신대로 분산시스템을 관리하는 역할로 알고 있습니다. 2. 주키퍼의 포트는 default port가 2181인건가요? 주피커의 포트를 변경시는 것은 클라우데라설정으로 변경 가능한건가요? [카프카 콘솔 프로듀서] 1. 카프카 브로커의 default port가 9092인가요? 여러개의 브로커를 생성하게 되면 port 변경은 클라우데라에서 해야하나요?