챕터4. 기타) 카프카 실습 환경 구성
·
DATA Engineering/Kafka
카프카 설치하고, 실습환경 설정하는 부분만 따로 정리했다 로컬에서 카프카 바이너리 설치(2.5.0) apache kafka 홈페이지 : https://kafka.apache.org/downloads • Scala 2.12 - kafka_2.12-2.5.0.tgz (asc, sha512) 다운로드 JVM 설치 1.8.0 or 그 이상 config 설정 config\server.properties listeners 경로 localhost:9092 advertiesd.linstenrs 경로 : localhost:9092 log.dirs kafka디렉토리에 data폴더 생성, 이후 log.dirs 경로에 지정해줌 서버 제대로 켜져있는지 테스트 ( 주키퍼 → 브로커 순서 ) bin/zookeeper-server-..
섹션4. 카프카 CLI 활용
·
DATA Engineering/Kafka
kafka-topics.sh : 토픽을 명시적으로 만들때 사용 kafka-topics : 토픽관련 옵션 create : 만들겠다 bootstrap-server : 서버를 my-kafka:9092 서버의 주소는 이곳이고 topic : 토픽의 이름은 이거다 확인할때 describe 옵션 추가 토픽 hello.kafka2 생성 파티션의 갯수가 10개인것을 확인 (선택옵션을 지정해줘서) 토픽 test를 생성. 따로 설정을 안해줘서 기본값으로 지정된모습 옵션을 수정할때 사용하는 명령어 alter 를 써서 partitions 갯수를 10개로 늘림 만약 alter옵션을 써서 파티션의 갯수를 줄이려한다면? 줄일수는 없다고 에러남 파티션 갯수를 늘릴수는 있지만, 줄일수는 없다. 파티션 갯수를 늘릴수는 있지만, 줄일수는 ..
섹션3. 카프카 클러스터 운영
·
DATA Engineering/Kafka
아파치 카프카 클러스터를 운영하는 방법 구분 온프레미스(on-premise) : 자체 전산실에 서버를 구축 Iaas(Infrastructure-as-a-Service) : 가상 컴퓨터 리소스를 발급받아서 사용 (AWS, GCP) Paas(Platform-as-a-Service) : 애플리케이션 개발 및 실행환경 제공 (Aws Lambda) Saas(Software-as-a-Service) : 소프트웨어 배포 및 실행만 담당 On-Premise 오픈소스 카프카 설치 및 운영 기업용 카프카(Confluent, 튜닝 목적으로 사용하기 위함) 사용 Iaas 가상 컴퓨팅 리소스 Saas 컨플루언트 클라우드, AWS MSK 다양한 주변 생태계(ksqlDB, 모니터링 도구) 기능을 제공 오픈소스 카프카를 직접 설치시..
프로그래머스 보석쇼핑 67258 파이썬
·
CodingTest
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/67258 문제 #Testcase gems = ["ZZZ", "YYY", "NNNN", "YYY", "BBB"] #[1,5] gems = ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] #[3,7] 투포인터st로 접근하기 DIA RUBY RUBY DIA DIA EMERALD SAPPHIRE DIA 일때, DIA RUBY EMERALD SAPPHIRE가 모두 포함되는 구간을 찾는것이 문제인데 정확성과 효율성을 찾아야하는 문제다보니, 어케할까 고민하다가 슬라이딩윈도우(투포인터) 방법으로 접근해봤다 시간초과 나는 코드 def ..
백준 18232 텔레포트정거장 파이썬
·
CodingTest
링크 : https://www.acmicpc.net/problem/18232 문제 그냥 BFS만 돌리면 되지않을까? 딱히 가중치가 있지도않고, 그냥 노드로 이동하는 문제인것같다. 텔레포트가 혹시 단방향인가? 에 대한 생각을 해봣는데, 점 x의 텔레포트와 점 y의 텔레포트가 연결되어있다는 뜻 에서 양방향이라고 생각했다 테스트케이스 # N, M = 10 ,3 # S, E = 2, 5 # graph = [[], [6, 3], [8], [1], [], [], [1], [], [2], [], []] 메모리 초과되는 소스코드 import sys input = sys.stdin.readline N, M = map(int, input().split()) S, E = map(int ,input().split()) gra..
백준 10826 피보나치수4 파이썬
·
CodingTest
링크 : https://www.acmicpc.net/problem/10826 문제 그냥 간단한 DP다 n은 10000까지 주어지는데, 일반적인 방법으로 피보나치수를 구하게 되면 F(10000) = F(9999) + F(9998) = F(9998) + F(9997) + F(9997) + F(9996) = … 이런식으로 쭉쭉쭉 늘어가면서 결국 메모리제한256MB를 넘길것이다. 그래서 우린 DP를 해야한다 dp[2] = dp[1] + dp[0] 코드 import sys input =sys.stdin.readline n= int(input().strip()) dp = [ 0 for _ in range(n+1)] dp[0] = 0 if n < 2 : print(n) else : dp[1] = 1 for i in ..
리트코드 Tapping Rain Water
·
CodingTest
문제링크 : https://leetcode.com/problems/trapping-rain-water/ 비슷하지만 비교적 쉬운 백준 링크 : https://www.acmicpc.net/problem/14719 문제 빗물이 고이는 원리 빗물이 고이려면 현재위치의 높이를 기준으로 왼쪽과 오른쪽이 ‘현재 높이보다 높아야’ 한다 이때, 쌓이는 양은 min(왼쪽, 오른쪽) - 현재 위치의 높이 가 된다 height 전체를 확인하지않고, 결과를 확인할수 있는 방법이 있을까? 결론은 안될것같다. 빗물의 양을 구하는 곳에서는 총 3곳의 블록값을 보는데 ‘내 위치, 왼쪽, 오른쪽' 이 되는데 주어지는 height 블록의 리스트 값이 모두 다르기 때문에 각 좌표의 블록값에 맞추어서 찾는것이 맞는것같다 백준에선 뚫리고, 리..
백준 2606 바이러스
·
CodingTest
문제 : https://www.acmicpc.net/problem/2606 그냥 그래프 연결해서 순회하면 되는문제 진짜 딱 그게 전부다. 인접리스트, 인접행렬 문제에서 신경쓰이는 조건이 있었는데, 메모리제한이 128이다 인접리스트 방식은 ‘연결된 지점'만을 가지고 있고, 인접행렬은 [0,0,0,1,1] 이런식으로 모든 지점에 대한 연결여부를 가지고있는데 주어지는 컴퓨터의 수가 100개니까, 이를 인접행렬 방식으로 구현하게되면 100*100 matrix에 접근해야되는거니까 하면 안되나? 싶었다 근데 생각해보니까, 굳이 인접리스트나 인접행렬 상관없이 해도 겨우 10000칸이고, 한칸에 4바이트 잡아도 4만이다. 굳이 메모리 터지는건 신경안써도 될것같다 소스코드(전체) node = int(input()) ed..
파이썬 모듈 재설치, 초기화하는방법 (poppler 설치 후 에러)
·
Dev
문제상황 PDF2IMG 라이브러리를 사용하려고 확인해보니, 필자가 사용중인 Mac OS에서는 brew install poppler 로 먼저 poppler라이브러리를 설치후, 사용해야했다 그러나 poppler라이브러리를 설치 한 후에 requests, python 등의 라이브러리가 먹통이 되는것을 경험했고, 이를 해결하려고 라이브러리 초기화방법을 생각했다. 해결방법 pip freeze > requirements.txt pip uninstall -r requirements.txt -y 해결 원리 pip freeze ( ‘pip로 설치한 모든 라이브러리’ 를 ) > requirements.txt ( requirements.txt 파일 에다가 모두 저장하겠습니다) 라는것이고 pip uninstall (pip로 ..
에러해결 kafka : Configured zookeeper. connect may be wrong.
·
DATA Engineering/Kafka
문제상황 카프카를 껏다가 다시 켜야 하는 상황이었다. 주키퍼를 먼저 켠 다음 → 카프카 서버를 켜야 하므로 우선 주키퍼를 켰다 bin/zookeeper-server-start.sh config/zookeeper.properties 잘 켜진것을 확인했다. 카프카 서버를 를 킨다 bin/kafka-server-start.sh config/server.properties 에러메세지 : Configured zookeeper.connect may be wrong 해결방안 : config/server.properties 의 log.dirs 위치의 meta.properties 삭제 meta.properties 를 제거해주고 다시 실행한다 결과 해결
jjongguet
뒤죽박죽 데이터엔지니어링