본문 바로가기

MAC에서 Mysql8 ACCESS DENIED 뜨는 문제 현상 1. docker를 통해서 mysql8 버전 설치 2. root 계정으로 로그인 하려고 시도함. 3. Access denied for user 'root'@'localhost' (using password: YES) 이런 에러가 발생 4. 검색해보니 ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운비밀번호'; 이런 명령어를 통해서 권한을 부여 하라고 함. 5. root localhost % 둘다 계정 들어가 있고 로그인도 잘됨 6. 아무리 멀 해도 안되서 접었다 다음날 다시 시도 해결 1. netstat -anv | grep LISTEN 을 통해 3306(mysql) 포트가 있는지 확인 2. 있어서 kill을 통해 pid 종료 했더니 계속 안죽고 살아남 3. 어..
카프카 간단 실행 1. 자바 1.8 이상 다운로드 및 설치 2. 아래 사이트에서 버전에 맞는 카프카 다운로드 - https://kafka.apache.org/downloads Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 3. 카프카 압축 해제 4. 아래 명령어로 주키퍼 실행 - bin/zookiper-server-start.sh /config/zookiper.properties 5. 새로운 터미널 띄움 6. vi config/server.properties - advertiesd.listners 를 주석 해제및 localhost:9092로 변경 - advertiesd.listners는 프로듀서와 컨슈머에게 브로커 접속 정보를 알..
레디스 클러스터 구성 cluaster-enabled 클러스터 모드를 실행할 지 여부를 결정 cluster-config-file : 해당 노드의 클러스터를 유지하기 위한 설정을 저장하는 파일, 사용자가 수정않함 cluster-node-timeout - 특정 노드가 정상이 아닌것으로 판단하는 기준 시간 - 감지되지 않은 master는 replica에 의해 failover cluster-replica-validity-factor - master와 통신한지 오래된 replica가 failover를 수행하지 않게 하기 위한 설정 - cluster-node-timeout * factor 만큰 master와 통신이 없던 노드는 replica filover대상에서 제외 cluster-migration-barrier - 한 master가 유..
레디스 클러스터 레디스 클러스터 1. 여러 노드에 자동으로 데이터 분산 2. 일부 노드가 실패하더라도 가용성 제공 3. 분산과 확장성 보정 특징 1 .full mesh구조 (모든 노드가 연결됨) 2. gossip protocol사용 3. hashslot을 사용한 키 관리 센티넬이랑 차이 1. 클러스터는 데이트를 분산 2 . 자동 장애 조치를 위해 모니터링 노드를 추가 배치할 필요 없음 3. 클러스터는 multi key 오퍼레이션 제한 클러스터 데이터 분산 기준 - 단순 해싱은 문제가 있음 노드가 추가 되거나 재거되면 데이터를 재정렬 해줘야 함. -> hash("user:a") %2 Hash Slot을 이용해 데이터 분산 - Redis는 16384개의 hash slot으로 key 공간을 나누어 관리 - 각 키는 CRC16..
Redis 백업 레디스 백업에는 RDB와 AOF두가지 방식이 존재함 RDB(Redis Database) - 일정 시간마다 전체 데이터를 디스크에 씀 - 특정 시점에 스냅샷으로 데이터를 저장 - 재시작 시 RDB 파일이 있으면 읽어서 복구 장점 - 작은 파일 사이즈로 백업 파일 관리가 용이 (AOF보다 작음, 원격지 백업 다른곳으로 보냄, 버전관리 날짜별) - fork를 이용해 백업하므로 서비스중인 프로세스에는 성능에 영향이 없음 - 데이터 스냅샷 방식이 빠른 복구가 가능 스냅샷을 메모미에 그래로 올리면 됨 단점 - 스냅샷을 저장하는 시점 사이에 데이터 변경사항은 유실 될 수 있음 - 1분마다 저장을 하더라도 59초에 장애나고 저장이 안된다면 유실될 수 있음 - fork를 이용하기 때문에 시간이 오래걸릴수 있고 CPU와 ..
네임스페이스 관련 명령어 kubectl get pods -n defulat: -n을 주고 네임스페이스에 대한 파드를 볼 수 있음 kubectl get pods --all-namespaces : 네임스페이스에서 사용되는 모든 파드들을 보여줘 kubectl config view : 쿠버네티스 컨피그 정보를 보여줘 kubectl config set-context blue --cluster=kubernetes --user=blue --namespace=blue - 컨피그에 네임스페이스 등록하는 방법 kubectl config use-context blue - 컨피그에 네임스페이스 등록후 기본 네임스페이스를 변경 kubectl delete namespaces blue : name스페이스 제거 네임스페이스를 실행하는 방법 1. CLI로 실..
파드관련 명령어 kubectl api-resources : 약어와 명령어 모음을 보여줌 kube get nodes : 노드보기 kube get nodes -o wide : 노드 자세하게 보기 kubectl describe node [nodeName] : 노드 완전 자세히 보기 kubectl get pod webserver -o yaml : 야믈 형태로 보여줘 kubectl get pod webserver -o josn : json형태로 보여줘 kubectl exec webserver -it -- /bin/bash : webserver파드로 접속하는데 배시 형태로 접속해줘 ( --이 의미가 컨테이너를 실행할때 실행할 명령) kubectl delete pod webserver :웹서버의 파드를 지워줘 kubect logs ..
Redis 데이터 타입 String 요약 - 가장 기본적인 테이터 타입으로 제일 많이 사용 - Key value 문자열이 저장됨 - 문자열이 저장될때 바이트 배열로 저장됨 - binary-safe (모든 문자를 표현할 수 있음) - 한키에 담을수 있는 밸류는 512M 명령어 기능 예제 SET 특정 키에 문자열 값을 저장 SET say hello GET 특정 키의 문자열 값을 얻어온다 GET say INCR 특정 키의 값을 Integer로 취급하여 1 증가 INCR mycount (아토믹하다) DECR 특정 키의 값을 Ineger로 취급하여 1 감소 DECR mycount (아토믹 하다) MSET 여러 키에 대한 값을 한번에 저장 MSET mine mil your coppe MGET 여러 키 에 대한 값을 한번에 얻어온다 MGE..