전체 글

공부하면서 정리하는 블로그입니다. 틀린 내용이나 피드백 적극 환영합니다^^
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..
· DevOps/Linux
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..
1. 개요지난 번에 centOS에서 Docker를 설치하는 방법에 대해서 정리했었다.https://soonmin.tistory.com/92 [Docker] Docker 설치 (인터넷, 폐쇄망)1. 인터넷이 되는 pc에서 도커 설치필자는 Linux CentOS 7.4 환경이라 패키지 관리 도구인 yum을 사용하여 설치를 진행했다. yum-utills 설치 및 repository 추가아래 명령어를 하나씩 입력하자.repository가 성soonmin.tistory.com docker 설치하면 docker compose도 설치가 되는 줄 알았는데, 따로 설치가 필요했다..docker compose 설치 방법에 대해서 알아보자.  2. docker-compose 설치 install docker-compose 아..
1. 비동기 프로그래밍이 필요한 이유비동기란 현재 처리중인 쓰레드에서 작업하던 Task를 다른 sub 쓰레드에게 Task를 위임하는 행위이다. 비동기를 사용하면 클라이언트는 서버에게 요청을 하고 응답을 기다릴 필요가 없다.그로 인해 더많은 Task를 처리할 수 있고,  실시간 성 응답이 필요없는 경우 유용하게 사용할 수 있다. 비동기가 필요한 경우  예시회원 가입 후 이메일 전송: 사용자는 회원가입을 완료하면, 이메일을 비동기적으로 처리하여 사용자는 회원가입만 완료되면 다른 작업을 처리할 수 있다.알림 기능: 특정 이벤트가 발생한 후 사용자에게 알림을 비동기적으로 보내어, 프로세스가 멈추지 않고 계속 실행하도록 한다. 2. Thread Pool 정의a. Thread Pool이란?Thread Pool이란 ..
kmindev
평생쓰는 IT 개발 노트