일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CSV
- Spring
- OS
- EC2
- AWS
- Python
- kubectl
- Operating System
- java
- grafana
- kubeadm
- log
- Packet
- ip
- kubernetes
- zookeeper
- aws s3
- JavaScript
- Trino
- Vision
- Network
- airflow
- MAC address
- tcp
- CVAT
- jvm
- PostgreSQL
- docker
- helm
- Kafka
- Today
- Total
JUST WRITE
Kafka야?!! 데이터 잘 처리하고 있니?! 실시간 데이터 처리를 위해 Kafka를 운영하고 있습니다. Kafka 모니터링을 위해 주로 Prometheus, Grafana를 통해서 합니다. Kafka Exporter로 Metric을 수집, Prometheus로 보내고 Grafana에서 Dashboard를 구성해서 모니터링합니다. 보통 Topic별로 들어오는 데이터의 Bytes양, Topic의 Consumer의 Lag 등을 모니터링합니다. 이 방법 말고 Kafka가 데이터를 잘 처리하고 있는지 알 수 있는 방법이 이거밖에 없는지 궁금하였습니다. 그러다가 찾은 방법이 있었습니다. Kafka 자체적으로 Performance를 테스트할 수 있는 방법이 있었습니다. 이번 포스팅에서 자체적으로 Kafka를 테스트..
손쉽게 동적으로 Persistent Volume 생성하기 Docker container에서 데이터를 저장할 때 Volume을 사용합니다. container는 독립적인 환경이라 container가 사라지면 데이터도 사라집니다. 하지만 Volume을 사용하면 Host Device에 mount 하여 container가 없어져도 Volume 데이터는 유지됩니다. Kubernetes에서도 Pod내 Container에서 사용한 데이터를 Volume으로 지정해 유지할 수 있습니다. Pod이 사라지더라도 Volume을 설정해서 데이터를 유지할 수 있습니다. 기본적으로 아래 2가지 Volume Type이 있습니다. Kubernetes Volumes EmptyDir 가장 기본적인 Volume Type으로 비어있는 상태로 ..
Kafka 재시작 후 UNKNOWN_TOPIC_ID 에러?! 최근에 Kafka Cluster를 여러 개를 구축하는 업무를 맡아서 하고 있었습니다. 각 Cluster를 3개의 Server에 Kafka를 설치하여 구성하고 있었습니다. 1개의 Cluster 중 1개의 Server가 재시작하여서 Kafka도 재시작하는 경우가 있었습니다. (포스팅 주제가 다르니 Server 재시작 원인은 다루지 않겠습니다.) Kafka를 재시작하고 Log를 살펴보니 아래와 같은 경고메시지가 눈에 띄었습니다. $ tail -5000f ./kafka/logs/server.log ... ... [2023-06-09 00:00:47,698] WARN [ReplicaFetcher replicaId=1, leaderId=3, fetcher..
ArgoCD UI 헷갈리지 않고 쉽게 접근하기 Kubernetes내 Service를 외부에서 접근하도록 설정하는 가장 쉬운 방식은 NodePort 방법입니다. Service Port를 Control Plane의 Port에 포트포워딩을 통해 접근하게 해주는 방식입니다. service-nodeport-range(default: 30000~32767)내에서 Control Plane의 Port로 포트포워딩이 가능합니다. apiVersion: v1 kind: Service metadata: name: my-service spec: type: NodePort selector: app.kubernetes.io/name: MyApp ports: - port: 80 targetPort: 80 nodePort: 30007..
명령어 한 번에 Kubernetes 설치하기 개발 환경을 자주 구성하다 보니 Kubernetes Cluster를 구성하는 일이 많았습니다. Kubernetes Cluster 구성은 단계도 많고 쉽지 않아 할 때마다 새로웠습니다. 구성을 간편하게 할 수 있는 방법이 없을까 고민하다가 Terraform을 알게 되었습니다. Terraform을 활용하여 간편하게 Kubernetes Cluster를 구성하는 것을 정리해보려 합니다. (Terraform이 아닌 AWS EC2 다수의 인스턴스로 Kubernetes를 구성하는 것은 아래 포스팅 참조) AWS EC2 Kubernetes Cluster 설치(1) Kubeadm - containerd 설치 AWS EC2 Kubernetes Cluster 설치 이번 포스팅에서..
GraphDB로 얼굴인식하기 저번 포스팅에서 deepFace를 통해서 이미지에서 얼굴 feature를 추출하여 Neo4j에 Node에 저장하였습니다. 이미지의 파일명과 feature을 단순히 저장만 하였습니다. 이번 포스팅에서는 feature끼리의 연관성을 분석해서 간단한 얼굴인식 App까지 구성해보겠습니다. 비슷한 얼굴(Node)끼리 연결 GraphDB는 Data간의 관계를 생성하여 관계를 통해 Data를 검색할때 빠른 속도를 자랑합니다. Data가 많아지더라도 관계를 형성한 Node끼리는 빠르게 검색이 가능합니다. 이번 예제에서 얼굴이 비슷한 Node끼리 연결하여 동일 인물의 이미지를 빠르게 검색하도록 합니다. deepFace에서 FaceNet 모델을 통해서 Feature를 추출하였습니다. 같은 사람..