본문 바로가기

728x90

전체 글

[draft] 우분투에서 PHP 8.3으로 업그레이드하고 기존의 PHP 8.1을 삭제하는 방법 우분투에서 PHP 8.3으로 업그레이드하고 기존의 PHP 8.1을 삭제하는 방법1. PHP 8.3 설치PHP 8.3 패키지와 필요한 모듈들을 설치합니다. 필수 패키지 설치sudo apt-get install -y software-properties-common apt-transport-httpsOndrej PPA 추가sudo add-apt-repository -y ppa:ondrej/phpsudo apt-get updatePHP 8.3 및 필수 모듈 설치sudo apt-get install -y php8.3 php8.3-fpm php8.3-cli php8.3-common \ php8.3-mysql php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml .. 더보기
[draft] Shell 스크립트에서 CRLF와 LF 문제를 해결하는 방법 Shell 스크립트에서 CRLF(Carriage Return Line Feed)와 LF(Line Feed) 문제를 해결하는 방법CRLF는 Windows 시스템에서 사용되는 줄 끝 표시 방식이고 LF는 Unix/Linux 시스템에서 사용됩니다.CRLF와 LF란 무엇인가? CRLF(Carriage Return, Line Feed) : Windows에서 일반적으로 사용되는 개행 문자입니다. 문자열의 끝을 나타내는 데 CR(\r)과 LF(\n) 두 개의 문자를 사용합니다.LF(Line Feed) : Unix/Linux 시스템에서 일반적으로 사용되는 개행 문자입니다. 문자열의 끝을 나타내는 데 LF(\n) 한 개의 문자를 사용합니다.문제 확인하기일반적으로 CRLF 문제는 스크립트를 실행할 때 다음과 같은 오류 메.. 더보기
[draft] Python으로 Kafka Consumer 생성 Python으로 Kafka Consumer 생성Python에서는 confluent_kafka 라이브러리를 주로 사용하여 Kafka 클러스터와 상호작용합니다.Apache Kafka - Cluster Architecture1. 간단한 Kafka 컨슈머를 만들기confluent_kafka 라이브러리를 설치합니다.pip install confluent_kafkaPython Kafka Consumer 예제Topic : test-topic-1Kafka Broker Server : node1:9092, node2:9092, node3:9092Consumers Group ID : my-consumer-groupvim python_kafka_consumer.pyfrom confluent_kafka import Consu.. 더보기
[draft] 우분투에서 apt를 사용하여 최신 Python 버전 설치 및 기본 설정하는 방법 우분투에서 apt를 사용하여 최신 Python 버전 설치 및 기본 설정하는 방법1. PPA 추가(deadsnakes PPA)우분투의 기본 저장소에 최신 Python 버전이 포함되지 않은 경우가 많으므로 최신 Python 버전을 설치하려면 deadsnakes PPA를 추가해야 합니다.sudo apt updatesudo apt install -y software-properties-commonsudo add-apt-repository -y ppa:deadsnakes/ppasudo apt update2. 최신 Python 버전 설치최신 Python 버전을 설치하려면 apt 명령어를 사용합니다.sudo apt install -y python3.13which python3.13$ which python3.13/u.. 더보기
[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. 필수 조건서버 :.. 더보기

728x90