1. 개요성능 향상을 위해 속도가 빠른 메모리 기반 DB인 Redis를 사용한다.Redis는 데이터를 메모리에 저장하기 때문에 서버에 장애가 발생하거나 강제 종료될 경우 데이터가 모두 소실될 위험이 있다. 하지만 Redis는 설정에 따라 데이터를 디스크에 저장하여 어느 정도 영속성을 확보할 수 있다.Redis가 제공하는 데이터 저장 방식에는 RDB와 AOF 방식이 있으며, 각각의 방식을 알아보도록 하겠다. 2. RDB(Redis Database) 방식RDB 방식은 주기적으로 Redis의 전체 데이터를 스냅샷 형태로 저장하는 방식이다.redis.conf(설정파일)에서 주기와 조건을 설정할 수 있다. 장점서버가 재시작해도 최근 스냅샷 시점까지의 데이터는 복구 가능하여 데이터 손실을 최소화한다.스냅샷 파일은 ..
전체 글
공부하면서 정리하는 블로그입니다. 틀린 내용이나 피드백 적극 환영합니다^^1.개요gitlab과 jenkins를 활용하여 배포 자동화를 구축하는 과정에 대해서 정리해보겠다.jenkins 프리스타일 프로젝트를 생성하여 gitlab 프로젝트와 연동하고, gitlab 트리거를 설정하여 자동배포를 구축해보았다. 참고로 gitlab 11.x.x 버전을 Docker 기반의 온프레미스 환경에서 사용하고 있다. 2. jenkins에서 gitlab 플러그인 설치Dashboard - Jenkins 관리 - Plugins 에서Available plugins를 클릭하여 Gitlab 검색 한 다음 아래 체크 박스에 체크한 다음 install 버튼을 클릭하여 설치를 진행한다. 3. gitlab에서 access token 발급jenkins에서 gitlab repository에 access 하기 위..
1. 개요ip에 ping을 날려 네트워크 상태를 체크하는 프로세스를 개발해야 했다.지난 시간에는 파이썬의 fabric이라는 라이브러리를 사용하여 시스템 명령어(ping, ll, mkdir 등)을 사용했었는데, 자바로도 구현을 해보고 싶어서 자바에서 사용하는 명령줄 도구를 찾아보았는데, ProcessBuilder라는 것을 알게되었다. 참고로 필자는 리눅스 기반의 시스템에서 사용하는 프로세스이므로 리눅스 명령러를 기반으로 개발을 진행했다.윈도우나 다른 OS의 경우 해당 OS 명령어로 변경해서 적용할 수 있다. 그럼 이제 ProcessBuilder 사용 방법에 대해서 정리해보자. 2. ProcessBuilder란?ProcessBulder는 자바에서 시스템 명령어나 스크립트를 실행할 수 있으며, 다양한 프로..
1. 개요사용하고 있는 os는 리눅스 redhat 계열릐 Rocky 8.10을 사용하고 있다.elasticsearch를 관리하기 위한 도구로 kibana 8.x.x 버전을 설치하고, kibana 설정을 수정해서 elasticsearch와 연동해보겠다. 2. 설치 방법a. yum repo 설정/etc/yum.repo/kibana.repo[kibana-8.x]name=Kibana repository for 8.x packagesbaseurl=https://artifacts.elastic.co/packages/8.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1 b. kibana 설치$ d..
1. 개요Linux 환경에서 kafka를 설치 과정을 공유하겠다. 필자는 Rocky Linux 8.10을 사용하고 있고, kafka 3.5.1 버전 설치를 완료했다.그럼 설치를 진행해보자. 2. 설치 방법a. java 설치kafka를 실행하기 위해서는 java가 필요하다. java를 설치해주자.$ dnf install java-17-openjdk b. kafka 다운로드 및 압축 해제kafka.3.5.1 버전 다운로드wget https://archive.apache.org/dist/kafka/3.5.1/kafka_2.13-3.5.1.tgz 압축 해제$ tar -xvf kafka_2.13-3.5.1.tgz c. zookeeper, kafka 실행kafka는 기본적으로 zookeeper가 필요하다.먼저 zo..
1. 개요회사에서 redhat 7 계열의 리눅스를 사용하고 있었다. 2024.06.30일부터 red hat 7은 지원이 종료되어, redhat 8을 사용하기로 했다. Nginx 서비스를 systemctl로 시작하면 permission denied 에러가 나면서 서비스 구동이 안됐다. 2. 원인/etc/nginx/nginx.conf에서 log 경로를 /data2/nginx/log로 수정하고 싶었다.# error_log /var/log/nginx/error.log notice;error_log /data2/nginx/log/error.log notice; 수정한 뒤 systemctl start nginx를 위에서 언급한 permission denied 가 발생하면서 구동이 안된다.red hat 7에서 ..
1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.elasticsearch 5.6.16 버전을 설치해보겠다. 공식 사이트에서 버전별로 설치방법을 쉽게 확인할 수 있다. https://www.elastic.co/guide/en/elasticsearch/reference/5.6/rpm.html Install Elasticsearch with RPM | Elasticsearch Reference [5.6] | ElasticOn systemd-based distributions, the installation scripts will attempt to set kernel parameters (e.g., vm.max_map_count); you can skip this..
1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.Redis를 최신 버전이 아닌 redis 3.2.12 버전을 설치할 때 참고하면 좋을 것 같다! redis 3.2.12는 Redis 공식 릴리즈 버전이 아니므로, 직접 소스코드를 다운로드 한 뒤 빌드한 후 설치를 진행한다는 점을 참고하자. 2. 설치 과정a. gcc, make 설치redis 소스코드를 컴파일 하기 위해 gcc와 make를 설치하자.dnf install -y gcc make b. redis 3.2.12 소스 다운로드 및 압축 풀기공식 릴리즈 버전이 아니므로 소스를 직접 다운로드하고 압축을 풀도록 한다.wget http://download.redis.io/releases/redis-3.2.12.t..
1. 개요지난 포스팅에서 리눅스 redhat 계열에서 postgreSQL 9.6 버전 설치과정을 다뤘었다.https://soonmin.tistory.com/99 [PostgreSQL] dnf(yum)로 postgreSQL 9.6(오래된 버전) 설치1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.이 글 작성 기준(2024.09월) postgreSQL 버전은 16.4까지 나왔지만, 필자는 9.6 버전을 설치해야 했다. 공식 사이트에서 yum reposoonmin.tistory.com 설치 후 postgreSQL의 data와 log를 쌓는 경로를 따로 잡아주지 않으면 디폴트 경로에 데이터들이 쌓일 것이다.해당 경로에 용량이 충분하다면 괜찮겠지만, 부족하다면 용량이..
1. 개요사용하고 있는 OS는 리눅스 redhat 계열의 Rocky 8.10을 사용하고 있다.이 글 작성 기준(2024.09월) postgreSQL 버전은 16.4까지 나왔지만, 필자는 9.6 버전을 설치해야 했다. 공식 사이트에서 yum repo 지원은 12버전 이상부터만 지원하기 때문에 9.6 버전은 postgresql의 공식 repo 지원을 받지 못하는 상황이다. yum repo를 직접 구성해서 9.6 버전을 설치해보자. 2. 설치 과정a. repo 설정자신의 os 버전에 맞게 내용을 repo를 구성하면 된다. # Rocky 8.x 일 때$ sudo cat /etc/yum.repos.d/pgdg-96.repo[pgdg96-archive]name=PostgreSQL 9.6 RPMs for RH..