본문 바로가기

728x90

리눅스

[draft] Kafdrop 도구를 사용하여 Kafka 클러스터를 관리하는 방법 Kafdrop 도구를 사용하여 Kafka 클러스터를 관리하는 방법docker-compose.yml 파일 생성vim docker-compose.ymlservices: kafdrop: image: obsidiandynamics/kafdrop:latest restart: always container_name: kafdrop hostname: kafdrop extra_hosts: - "node1:192.168.0.111" - "node2:192.168.0.112" - "node3:192.168.0.113" environment: - KAFKA_BROKERCONNECT=node1:9092,node2:9092,node3:9092 ports.. 더보기
[draft] Kafka-UI 도구를 사용하여 Kafka 클러스터를 관리하는 방법 Kafka-UI 도구를 사용하여 Kafka 클러스터를 관리하는 방법docker-compose.yml 파일 생성vim docker-compose.ymlservices: kafka-ui: image: provectuslabs/kafka-ui:latest container_name: kafka-ui restart: always environment: - KAFKA_CLUSTERS_0_NAME=local - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=node1:9092,node2:29092,node3:9092 - KAFKA_CLUSTERS_0_ZOOKEEPER=node1:2181,node2:2181,node3:2181 ports: .. 더보기
[draft] 127.0.1.1의 의미 127.0.1.1의 의미127.0.1.1은 나를 향한 문, 즉 localhost를 나타내는 특별한 IP 주소입니다. 이는 컴퓨터 네트워크에서 자신의 컴퓨터를 가리킵니다.127 : 이 숫자는 "loopback"을 의미하며 네트워크 패킷이 네트워크 카드를 거치지 않고 곧바로 소프트웨어 스택으로 전달된다는 것을 나타냅니다.0.0.1 : 이 부분은 해당 컴퓨터 내에서 유일하게 식별되는 주소입니다.cat /etc/hosts127.0.0.1 localhost127.0.1.1 node1왜 127.0.1.1이 필요할까요?자체 서비스 테스트 : 웹 서버, 데이터베이스 등 다양한 서비스를 개발하고 테스트할 때 외부 네트워크에 연결하지 않고도 자신의 컴퓨터에서 직접 접속하여 확인할 수 있습니다.로컬 네.. 더보기
[draft] Apache Kafka와 ZooKeeper 클러스터를 구성하는 방법 Apache Kafka와 ZooKeeper 클러스터를 구성하는 방법ZooKeeper는 Kafka의 클러스터 메타데이터를 관리하기 위해 필요하며 Kafka 브로커와 ZooKeeper의 클러스터 구성은 분산 환경에서 높은 가용성과 확장성을 제공합니다.테스트 환경HostnameIPRole비고node1192.168.0.111  node2192.168.0.112  node3192.168.0.113  1. Kafka 및 ZooKeeper 클러스터 구조 개요ZooKeeper는 Kafka 클러스터의 상태를 관리하고 브로커 간의 협력을 조율합니다.Kafka 브로커는 메시지를 저장하고 클라이언트(프로듀서 및 컨슈머)로부터 데이터를 송수신합니다. 여러 개의 브로커가 함께 작동하여 클러스터를 구성합니다.2. 필수 조건서버 :.. 더보기
[draft] 동적 라이브러리와 정적 라이브러리의 차이점 동적 라이브러리와 정적 라이브러리의 차이점두 라이브러리의 주요 차이점1. 링크 시점정적 라이브러리(Static Library)컴파일 시점에 프로그램에 포함됩니다.라이브러리의 코드가 컴파일할 때 실행 파일에 삽입되어 결과적으로 하나의 독립적인 실행 파일이 생성됩니다.동적 라이브러리(Dynamic Library)실행 시점에 프로그램이 라이브러리를 참조합니다.컴파일 시점에는 라이브러리 파일이 포함되지 않고 실행 시에만 해당 라이브러리를 로드하여 사용합니다.2. 실행 파일 크기정적 라이브러리실행 파일에 라이브러리 코드가 포함되므로 실행 파일의 크기가 커질 수 있습니다.동적 라이브러리실행 파일에는 라이브러리 참조만 포함되므로 실행 파일 크기가 상대적으로 작습니다.3. 라이브러리 업데이트 및 배포정적 라이브러리라이.. 더보기
[draft] ss 명령어 ss 명령어ss 명령어는 socket statistics를 표시하는 도구로 리눅스에서 네트워크 연결 상태를 확인하는 데 사용됩니다. ss는 netstat의 대체 도구로 간주되며 더 빠르고 강력한 기능을 제공합니다.1. ss 명령어 설치일반적으로 최신 리눅스 배포판에는 ss 명령어가 기본적으로 포함되어 있습니다. CentOS 7에서 설치sudo yum install -y iprouteUbuntu에서 설치sudo apt install -y iproute22. ss 명령어 사용법 및 주요 옵션기본 사용법ss [옵션]주요 옵션-t : TCP 소켓을 표시합니다.-u : UDP 소켓을 표시합니다.-l : Listening 상태의 소켓만 표시합니다.-p : 각 소켓과 연관된 프로세스를 표시합니다.-a : 모든 소켓을.. 더보기
[draft] CentOS 7의 EOL 문제로 인해 발생하는 패키지 설치 오류를 해결하는 방법 CentOS 7의 EOL 문제로 인해 발생하는 패키지 설치 오류를 해결하는 방법CentOS 7의 기본 저장소가 EOL(End of Life) 상태가 되면서 더 이상 업데이트나 패키지 설치가 제대로 되지 않을 수 있습니다. 이를 해결하기 위해 카카오, 네이버 미러 저장소 또는 CentOS Vault 저장소를 사용할 수 있으며 EPEL(Extra Packages for Enterprise Linux) 저장소를 추가하면 추가 패키지를 설치할 수 있습니다.1. 기존 저장소 파일 백업기존 저장소 설정을 백업해 두는 것이 좋습니다.sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup더보기---cat /etc/yum.rep.. 더보기
[draft] 우분투에서 NGINX와 PHP-FPM을 설치하고 연동하는 방법 우분투에서 NGINX와 PHP-FPM을 설치하고 연동하는 방법테스트 환경구분호스트 이름아이피 주소비고NGINXjnode1192.168.0.122 PHP-FPMjnode2192.168.0.112 NGINX 서버 설정NGINX 설치sudo apt-get updatesudo apt-get install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring apt-transport-httpscurl -fsSL https://nginx.org/keys/nginx_signing.key \ | gpg --dearmor | sudo tee /etc/apt/keyrings/nginx_signing.asc >/dev/nullecho "deb [signed-by=/etc/.. 더보기

728x90