목록전체 글 (241)
오늘도 한 뼘 더
## mysql_config_editor 란? mysql_config_editor는 MySQL에서 로그인 정보(사용자 이름, 비밀번호, 호스트 등)를 암호화하여 안전하게 저장할 수 있는 자격 증명 관리 도구이다. 명령줄에서 MySQL에 접속할 때 이 도구로 저장한 정보를 사용하면 비밀번호를 포함한 민감한 정보를 매번 입력할 필요가 없어 편리하고 안전하다.암호화된 정보는 홈 디렉토리에 .mylogin.cnf에 저장된다. ## 설정 및 사용 방법 1. 로그인 정보 저장아래 명령어를 입력하면 비밀번호 입력칸이 뜬다. 비밀번호 입력하면 로그인 정보 저장 완료$ mysql_config_editor set --login-path={name} --host={host_address} --user={user} -..
# 배경 부하테스트를 진행하는 과정에서 부하가 걸리면서 AWS RDS에 대한 커넥션 수가 많아지면서 다음과 같은 에러가 발생하였다.Error 1040: Too many connections # 해결 방법 MySQL에서 max_connections 값을 변경해야 하는데 AWS RDS의 경우 파라미터 값을 변경해서 해당 값을 변경할 수 있다.변경하기 전 현재 max_connections 값은 다음과 같이 확인할 수 있다.SHOW GLOBAL VARIABLES LIKE 'max_connections'; AWS RDS > 데이터베이스 > 구성 > 파라미터 그룹max_connections를 찾아 수정해 준다.기본 RDS의 max_connections 기본값은 {DBInstanceClassMemory/125..
# 배경 사용 중인 서버에서 도커 이미지를 빌드하면서 디스크 공간이 계속 증가하는 일이 발생하고 이로 인해 제대로 동작이 되지 않는 문제가 발생하였다. 미리 해당 서버에 대한 디스크 알림을 받고 사전에 디스크 여유 공간을 확보하면 해당 문제를 해결할 수 있다고 판단했다.그러나 CloudWatch에서는 기본적으로 현재 디스크에 대한 값을 조회하는 기능을 제공하지 않아서 CloudWatch Agent를 이용한다. # CloudWatch Agent 설치 AWS에서 제공하는 파일을 다운로드하여서 사용하였다. (yum을 사용하여서는 도저히 설치가 되지 않아서 사용하지 못했는데 방법을 찾아봐야겠다.)$ wget https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu..
# 배경 aws eks를 통해 만들어진 nodegroup을 삭제하는 과정에서 다음과 같은 에러 메시지가 뜨면서 삭제가 되지 않는 문제가 발생했다. # 문제 pod가 삭제되는 중에 pending 문제가 발생하여 해당 에러가 발생할 수 있다는 걸 알았고 명령어로 검색한 결과 다음과 같이 pod들이 pending이 되고 있었다. 이중 해당 문제를 발생시키는 pod는 ebs-csi-controller pod이다. # 해결 방법 ebs-csi-controller pod를 삭제한 후 nodegroup을 삭제하도록 한다.$ kubectl delete deployment ebs-csi-controller$ eksctl delete nodegroup --cluster [CLUSTER] --name [NODE..
최근 코딩테스트를 한번 보고 나의 실력에 상당한 충격을 받아 프로그래머스를 오랜만에 켰는데 기초부터 하나씩 데일리로 할 수 있는 게 있길래 시작해 본다!파이썬 다시 되짚을 겸 기초부터 하나씩 시작!## Github 링크https://github.com/baekji919/programmers/tree/main/Day1 programmers/Day1 at main · baekji919/programmersContribute to baekji919/programmers development by creating an account on GitHub.github.com
# 문제 및 배경 mysqldump 명령어를 사용하는 중에 다음과 같은 메시지가 계속해서 발생했다.Error 메시지가 뜨긴 하나 데이터를 dump 하는데 문제는 없었다.그러나 에러로 인지돼서 메시지를 받는 게 좋아 보이지는 않아 해당 문제를 해결하고자 한다. # 해결 방법 1. mysqldump 명령어에 --no-tablespaces 옵션 추가mysqldump -h {HOST} -u jihyun -p --no-tablespaces 2. user에 PROCESS privilege 추가하기GRANT PROCESS ON *.* TO 'jihyun'@'localhost';
# 배경 제플린 쿼리를 돌리는 중 다음과 같은 에러가 발생하였다.Output is truncated to 220000 bytes. Learn more about ZEPPELIN_INTERPRETER_OUTPUT_LIMIT # 원인 결과 내용이 설정해 둔 것보다 커서 나오는 에러였다. # 해결 방법 output limit을 더 큰 값으로 변경해서 해당 문제를 해결하도록 한다. 1. 서버에 접근한다.$ ssh ubuntu@[server IP] 2. zeppelin 도커에 접근한다.$ docker exec -it zeppelin /bin/bash 3. zeppelin-sites.xml 에서 설정 값을 변경한다.$ vi conf/zeppelin-site.xml밑의 값을 변경 zeppelin.int..
1. docker 그룹 확인하기 docker 그룹 확인$ cat /etc/group | grep -i docker docker:x:221:root 아무 결과도 나오지 않는다면 docker 그룹이 없는 것이기 때문에 docker 그룹을 생성해줘야 한다.$ sudo groupadd docker$ sudo systemctl restart docker 2. 사용자 계정을 docker 그룹에 추가$ sudo usermod -aG docker [user] -G 옵션사용자 계정의 소속 그룹을 변경하는 데 사용하는 옵션여러 그룹을 지정할 때는 , 로 구분한다 -a 옵션사용자 계정을 변경하지 않고 추가하는 옵션 3. 사용자 계정이 잘 추가되었는지 확인$ id -a [user]> uid=1001(user) gid=100..
# 배경 eksctl 명령어를 통해서 AWS EKS 서비스에 클러스터를 생성하는 작업을 진행했다. 클러스터의 버전을 config 파일에 명시해서 진행을 하는 중에 다음과 같은 에러가 발생하였다. apiVersion: eksctl.io/v1alpha5kind: ClusterConfigmetadata: name: test region: ap-northeast-2 version: "1.29" # 문제 eksctl 명령어를 사용하여 클러스터를 생성하는 중 다음과 같은 에러가 발생하였다. Error: invalid version, supported values: 1.21, 1.22, 1.23, 1.24 eksctl 버전에 따라 지원하는 쿠버네티스 버전이 다른데 구 버전의 eksctl을 사용..
# 배경 로컬에서 서버를 ssh로 접근하고 일정 시간 입력이 없으면 다음 메시지가 뜨면서 연결이 끊기게 된다. 이 시간이 생각보다 짧아서 스크립트가 돌아가는 중 연결이 끊길까 엔터키를 몇 번 쳤던 경험이 있다. 이 시간을 늘리도록 해보자 $ client_loop: send disconnect: Broken pipe # connection 시간 늘리기 위와 같은 현상은 서버가 클라이언트가 살아있는지 확인을 하는데 응답이 없을 때 발생하기에 이 시간과 횟수를 늘리면 된다. SSH 설정 파일에 접근한다. $ sudo vi /etc/ssh/sshd_config 아래와 같이 설정값을 활성화 및 작성한다. 300초 * 3 = 900초 동안 클라이언트에게 응답을 요청한다. ClientAliveInterval 300 ..