chown파일 또는 디렉터리의 소유자(owner) 및 그룹(owner group)을 변경할 때 사용하는 명령어사용형태: chown [옵션] 사용자명[:그룹명] 파일명 (구분을 콜론으로 한다!)user : 사용자만 변경user:group : 사용자와 그룹 모두 변경:group : 그룹만 변경여기 naa0:staff로 설정 된 파일이 있다. 이를 아래와 같이 명령어 양식에 맞게 입력하면, test-user:dev-test와 같이 사용자와 그룹 모두 바뀐 것을 알 수 있다. -R 옵션여러가지 옵션이 있지만, 가장 요긴하게 쓰이는 옵션이다. recursive의 약자로, 디렉터리 내부의 모든 파일과 하위 디렉터리까지 동일하게 소유권을 바꾸는 옵션이다. chgrp그룹 소유권만 변경하고 싶을 때 사용하는 명령어로 보..
SUID, SGID 개념을 한번 정리해두기 위해 포스팅을 하려한다.두 녀석 모두 유닉스/리눅스 시스템의 특수 권한 비트로, 파일을 실행할 때 일시적으로 파일 소유자(또는 그룹) 권한으로 실행할 수 있게 하는 기능이다. 이는 일반 사용자가 특정 프로그램 실행 시 소유자의 권한으로 접근해야 하는 경우(예: 비밀번호 변경 프로그램) 에 유용하다. SetUID (Set User ID)실행 파일에 이 권한이 설정되면, 파일을 실행하는 사용자가 실행 파일의 소유자(Owner)의 권한으로 해당 프로세스를 실행하게 된다.예를 들어, /usr/bin/passwd 파일은 보통 root 소유로 setuid가 설정되어 있어, 일반 사용자가 실행해도 root 권한으로 비밀번호를 변경할 수 있다.아래와 같이, 처음의 소유자 항목..
계속되는 브로커 설치 시 오류로 인해... 우선 스겜 해보겠다는 마음으로 confluent의 카프카 이미지를 사용하기로 했다...구성도아래 처럼 docker 안에서 zk-net이라는 bridge 네트워크를 만들고 주키퍼 3대 + 브로커 1대 구성으로 테스트 해볼 것이다.📦 Host Machine (Docker)│├── 🐳 Container: zookeeper-1│ - 내부 포트: 2181│ - 외부 포트: 2181│ - ZOO_MY_ID: 1│ - 서버 ID: server.1│├── 🐳 Container: zookeeper-2│ - 내부 포트: 2181│ - 외부 포트: 2182│ - ZOO_MY_ID: 2│ - 서버 ID: server.2│..
2.1.1 운영체제 선택하기다양한 운영체제에서 실행이 가능하나, 대체로 리눅스가 권장.2.1.2 자바 설치하기카프카와 주키퍼는 모든 OpenJDK 기반 자바 구현체 위에서 원할히 작동하니, jdk 설치를 해야함.2.1.3 주키퍼 설치하기주키퍼는 카프카 클러스터의 메타데이터와 컨슈머 클라이언트에 대한 정보를 저장하기 위해 사용 됨.주키퍼 앙상블주키퍼는 고가용성을 보장하기 위해 앙상블이라 불리는 클러스터 단위로 작동하도록 설계되어 있음.앙상블은 보통 홀수 개의 서버 권장. 주키퍼가 요청에 응답하려면 앙상블 멤버(=쿼럼)의 과반 이상이 응답해야 하기 때문. (만약 3대중 1대의 노드가 죽어도 문제없이 동작한다는 뜻.)image는 https://hub.docker.com/_/zookeeper 공식 도커 이미지 ..
카프카가 왜 좋은지에 대해 알아보자.1.3.1 다중 프로듀서여러 프론트엔드 시스템 (프로듀서) 로부터 데이터를 수집하고 일관성을 유지하는 게 가능.1.3.2 다중 컨슈머다수의 카프카 컨슈머는 컨슈머 그룹의 일원으로 작동하면서 하나의 스트림을 여럿이서 나눠 읽을 수 있음.1.3.3 디스크 기반 보존만약 컨슈머가 느린 처리 속도 혹은 트래픽 폭주로 인해 뒤처질 경우에도 데이터 유실의 위험이 없음. 프로듀서 쪽, 컨슈머 쪽을 잠시 정지하더라도 메시지는 카프카 안에 남아있게 되어 컨슈머가 다시 시작되면 작업을 멈춘 지점에서부터 유실 없이 데이터 처리 가능.1.3.4 확장성가용성에 영향을 주지 않으면서 클러스터 확장 가능.1.3.5 고성능1.3.6 플랫폼 기능
카프카는 메시지 발행/구독 시스템1.2.1 메시지와 배치메시지: 데이터의 기본 단위키: 메시지를 저장할 파티션을 결정하기 위해 사용됨.카프카는 효율성을 위해 메시지를 배치 단위로 저장함.배치 크기가 커질수록 시간당 처리되는 메시지 수는 늘어나지만,각각의 메시지가 전달되는 데 걸리는 시간은 늘어남.1.2.2 스키마가장 간단한 건 JSON, XML단점: 타입 처리 기능, 스키마 버전 간의 호환성 유지 기능이 떨어짐Avro조밀한 직렬화 제공메시지 본체와 스키마를 분리하기 때문에 스키마 변경 시에도 코드 생성이 필요 없음강력한 데이터 파이핑스키마 변경에 따른 상/하위 호환성 제공1.2.3 토픽과 파티션토픽: 메시지 분류 단위DB에서는 테이블과 유사, 파일시스템에서는 폴더와 유사파티션커밋로그 관점에서 하나의 로그..
드디어 Orelly - 카프카 핵심 가이드 책이 왔다.물론 책이 없어서 공부를 못한 것은 아니지만...ㅎ한번쯤 꼼꼼하게 고시공부하듯 공부해보고 싶었기 때문에 책을 통해 정리해보려한다.개인적으로 궁금한 공부내용은 되고만다-카프카깡패 시리즈에서 알아보고,기본기있는-카프카깡패 시리즈로 매일 한 소단원씩만... 오렐리 책 정리는 해보자...✅ 1주차: 2025.03.27(목) ~ 2025.04.02(수)날짜학습 내용03/27 (목)1.1 발행/구독 메시지 전달03/28 (금)1.2 카프카 입문03/29 (토)1.3 왜 카프카인가?03/30 (일)1.4 데이터 생태계03/31 (월)1.5 카프카의 기원04/01 (화)1.6 카프카 시작하기04/02 (수)2.1 환경 설정✅ 2주차: 2025.04.03(목) ~ 2..
올해 들고 굉장히 마음이 헤이해졌음을 느낀다. 카프카가 분명 정말 하고 싶었었는데 행복한 돼지가 되고픈 마음과 겹쳐 공부를 자꾸만 놓고 있었다. 이럴 순 없어! 프로덕션 환경에서 운영자 관점에서 Kafka를 이해해보고, 신규 Kafka 구축도 올해 꼭! 진행해보기 위해 25년 올해 4월까지는 현재 회사 운영 환경에서의 구조에서 잘 모르고 어려운 부분들을 잘 골라내서 self 공부해보려 한다.Change Data Capture(CDC)란 무엇인가데이터가 저장된 상태에서 발생하는 변경 사항을 실시간 또는 근실시간으로 포착해 다른 시스템에 전달하는 기법을 Change Data Capture(이하 CDC)라고 한다.CDC를 활용하면 기존 시스템에 큰 수정 없이 DB 로그 또는 트랜잭션 기록을 근간으로 데이터를 ..