일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자료구조공부
- nestjs스터디
- JPA 공부
- 기술면접공부
- JPA예제
- 프로그래머스
- 스프링
- Flutter
- 스프링부트
- 기술공부
- 플러터 개발
- K8S
- DDD
- 자바공부
- nestjs공부
- 스프링부트공부
- 스프링 공부
- nestjs
- Axon framework
- 카프카
- 스프링공부
- 알고리즘공부
- JPA공부
- JPA
- querydsl
- JPA스터디
- Kafka
- 코테공부
- 코테준비
- 플러터 공부
- Today
- Total
목록Infra (68)
DevBoi
1) 배경 EC2가 자꾸 죽었다. 프리티어를 문제없이 사용하다가, 특정 Docker 컨테이너 2개를 띄운 EC2가 자꾸 죽는것을 볼수있었다. 귀찮아서 미루다가 분석을 해보기로했다. 2) 분석 aws의 ec2프리티어였다. 사실 서버 인프라를 확장하면 된다. 그래서 운영이나 회사에서는 발생하지않았던, 새로운 경험이다. 적은 서버 스펙의 서버가 자꾸 죽을때 사용하면 좋을 기술 같다는 생각이 들은겸 리눅스 공부할겸 분석을 해보기로했다. 3) 문제 찾기 3-1) 시스템 로그 보기 별다른게 없었다. 시스템 로그는 부팅 중이나, 부팅후의 로그를 볼수있다. 부팅과정에서 제대로 안된다면 확인할때 유용하다. 3-2) 인스턴스 스크린샷 확인 서버가 기동중에 이유없이 다운되는 거기 때문에 인스턴스 스크린샷을 확인한다. 메모리..
잘 동작하는 서버가 갑자기 동작을 안한다. 특정 시간이 지나면 장애가 발생하는 것인데, 아래와 같이 인스턴스가 다름을 확인했다. 상태 검사가 이 EC2는 1개가 실패한것이다. 아래와 같이 로그를 확인했다. 특정 이슈로 보이는 부분을 발견했다. [[0;32m OK [0m] Finished [0;1;39mRecord successful boot for GRUB[0m. Starting [0;1;39mGRUB failed boot detection[0m... [[0;32m OK [0m] Started [0;1;39mSystem Logging Service[0m. [[0;32m OK [0m] Started [0;1;39mUser Login Management[0m. [[0;32m OK ..
개인 운영중인 Docker swarm에서 아래와 같은 메시지로 인해 신규 이미지를 pull할수 없었다. Error response from daemon: write /var/lib/docker/image/overlay2/.tmp-repositories.json2291754845: no space left on device 1) 리눅스 내 용량 비율 확인 ubuntu@ip-172-31-41-56:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 7.6G 0 100% / tmpfs 475M 0 475M 0% /dev/shm tmpfs 190M 21M 170M 11% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/..
도커 이미지 관련 다중 삭제를 할때 사용하는 커맨드가 있는데 다른사람들은 어떻게 삭제하나 궁금했다. 간단한 로깅 스크립트를 awk 관련되서 사용했었는데 해당 방식으로 삭제하려는 사람들도 있었다. 무튼 나는 아래와 같은 커맨드로 다중 삭제한다. docker rmi --force `docker images | awk '$1 ~ /boiler-core/ {print $3}'` docekr rmi --force까지는 뭐 당연한데 그 뒤로 어떤건지 남겨놓겠다 awk은 grep과 상상히 유사하다 하지만 다른 점이 있는데 awk에서는 action, pattern이 있다. # pattern 생략. $ awk '{ print }' ./file.txt # file.txt의 모든 레코드 출력. # action 생략. $ a..
AWS에서 제공하는 Mariadb RDS를 사용하다가 발생한 문제이다. 한글 관련 내용을 보내면 내부적으로 아래와 같은 에러 메시지가 노출되는데 java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'like' 해당 케이스에서는 별도 조치가 필요하다. 조인 하는 테이블들의 문자셋이 달라서 발생하는 오류이다. 해당 관련된 조인 테이블의 모든 인코딩 문자셋을 맞춰주면 해소가 된다. alter table myvalue.sub_member default character set utf8mb4; alter table myvalue.sub_me..
Incorrect string value: '\xEA\xB3\xB5\xEB\x8D\x95...' for column `myvalue`.`sub_member`.`content` at row 1 이런 에러가 떴다. 마리아 디비의 경우 기본 인코딩이 utf-8이 아니기 때문에, 해당 관련되서 파라미터 그룹을 설정해줘야한다. aws RDS -> 파라미터 그룹을 수정해준다. 파라미터 검색창에 [character]을 입력하여 검색되는 아래 6개의 값을 [utf8]로 변경 후 [변경 사항 저장]을 누른다. 그 다음 파라미터 검색창에 [collation]을 입력하여 검색되는 아래 2개의 값을 [utf8_general_ci]로 변경 후 [변경 사항 저장]을 누른다. - collation_connection - colla..
우선 Next.js 에 대한 프로젝트 빌드를 해보기 위해서는 node와 별개로 아래의 모듈이 필요하다 "create-next-app" npm을 사용해서 설치할 수 있다. 우선 노드에 대한 설치가 정상적으로 되었는지 확인한다. node -v 추가로 next.js 를 사용하기 위해서는 앱을 만들어 주거나 해당 next app을 구동시키기 위한 모듈을 설치해야한다. symbolic link 권한 문제로 인해, sudo 로 설치를 해주는 것이 좋다 sudo npm install -g create-next-app 설치가 정상적으로 되었는지 확인한다. create-next-app --version 우선 이렇게 하면 nextjs 를 빌드해서 로컬에서 실행해볼 수 있다. next.js nest.js 들은 각각 환경별로..
간헐적으로 초기화가 발생한다. 정확히는 디비 정보가 유실된다. 그래서 무조건, 볼륨 마운트를 진행해야한다. 혹시라도 다시 온되더라도 정보를 그대로 끌고갈수 있게 그래서 하위와 같이 스크립트 파일을 쓰다가 version: "3.2" services: database: container_name: database image: mariadb volumes: - ~/docker/mariadb/etc/mysql/conf.d:/etc/mysql/conf.d:ro - ~/docker/mariadb/var/lib/mysql:/var/lib/mysql - ~/docker/mariadb/var/log/maria:/var/log/maria environment: - MYSQL_DATABASE=db1 - MYSQL_ROOT_..
한개의 프로젝트를 진행하고 있지도 않고, 여러개의 프로젝트에 배포를 조금씩 해야한다. 원래는 CI/CD를 젠킨스나 툴을 이용해서 구축하는게 맞지만 1개에 여러번이 아닌, 10개의 3번씩 배포를 해야하는 샹황이라, 아래와 같이 배포를 하려고한다. 1. Docker image build 및 Docker hub push 2. docker-compose file ec2 upload 또는 vi로 이미지 버전 수정 3. ec2에서 docker image pull 및 빌드 1) Ec2 도커환경 구성 https://devboi.tistory.com/543 [AWS] EC2에 Docker 설정 1. 패키지 업데이트 > sudo apt update -y 2.Docker 설치 > sudo apt install docker ..
뭐 별건없다. 배포할때는 서비스에 대한 구성을 따로 올리지만, 그게 아닐때 로컬에서 개발할때는 마리아 디비를 도커에서 구성해서 올리는데 자꾸 설정에 대한 오류, 버퍼에 대한 오류가 나서 짜증나서 로컬용 docker-compose 파일을 만든다 (디비만, 필요시 카프카나 추가예정) version: "3.2" services: database: container_name: database image: mariadb volumes: - ~/docker/mariadb/etc/mysql/conf.d:/etc/mysql/conf.d:ro - ~/docker/mariadb/var/lib/mysql:/var/lib/mysql - ~/docker/mariadb/var/log/maria:/var/log/maria envi..