본문 바로가기
반응형

Cluster17

Elasticsearch 안정적인 클러스터 운영 노하우 노드 부트스트랩 과정 이해마스터 노드와 데이터 노드 분리하기클러스터 관리 API주요 체크포인트 [노드 부트스트랩 과정 이해]노드 부트스트랩 = 노드가 최초 실행시, 동작할 환경을 체크하는 작업을 스스로 수행한다.  Elasticsearch에서는 운영시 발생 가능한 다양한 문제점을 미연에 방지하기 위해, 엘라스틱서치 노드가 실행될 때 좀 더 강력한 검사를 수행하게 된다. 부트스트랩 체크 과정을 통해 필수 설정이 잘못되어 있을 경우, 사용자에게 알리고 해당 설정이 정상적으로 수정 될때까지 엘라스틱서치를 강제 종료반드시 필수 설정이 완료 되어야만 실행되도록 강제한다.  이러한 노드 부트스트랩 과정이 항상 실행할 필요는 없지만, 운영환경의 경우는 필수로 필요하다. 개발 모드(Development Mode)로컬동.. 2024. 8. 6.
ElasticSearch Cluster 구성 고려사항 시스템 규모가 커지면, 노드들의 성격에 따라 전용 노드를 구성하고 그에 맞는 하드웨어와 운영방식이 필요하다. 또한 가용성을 높이기 위해 HA 방안도 고민해야 하는데, 마스터 후보 전용 노드는 가능하면 홀수(1,3,5)배열로 구성하며, 나머지 노드들은 하드비트를 통해 주기적으로 상태 검사를 수행해는 것이 중요하다.  성능과 안정성을 위한 운영 클러스터 고려사항엘라스틱서치를 실제 서비스로 운영하기 위해서 가장 신경써야 할 부분은 서비스의 안정성과 지속성일 것이다. 아무리 빠른 성능이라도 요청량을 수용하지 못하거나 검색을 제대로 처리하지 못한다면 운영에서는 사용할 수 없을것이다.  노드 구성 계획마스터 노드 : 최소 3개데이터 노드 : 최소 2대 ~ @이외에 인덱싱 부하량에 따라 : 인제스트 노드 추가검색 부.. 2024. 5. 28.
ElasticSearch 샤드의 최적화 클러스터는 인덱스를 최대 몇 개까지 생성할 수 있을까?하나의 샤드 크기는 과연 얼마가 적당한가?ElasticSearch로 서비스를 운영하고 있다면, 모두가 고민해봤을만한 주제이다. 시간이 지날 수록 데이터의 크기는 점점 커지고, 서비스는 살아있는 생물 같아서 관심을 주지 않으면 금방 엉망이 되어 버진다. 현재 서비스가 월활하게 된다고 해서 앞으로도 서비스가 월활하게 될것이라는 보장은 없다. 데이터가 계속 증가할 수 있기 때문에, 항상 최적화를 위해 고민해야 한다는 것이다.  운영 중에 샤드의 개수를 수정해도 되는가?원칙적으로 클러스터를 운영중에 인덱스의 샤드 개수를 수정하는 것은 불가능하다. 하지만, 서비스를 운영하다보면, 데이터의 크기가 점점 더 커지고 너무 많은 데이터가 쌓이면, 샤드의 부하가 발생할.. 2024. 5. 28.
RedisClusterNode Validate that the Redis URI are equal when comparing nodes [이슈 현상] Redis Cluster의 Node IP가 변경되어도, RoundRobinSocketAddressSupplier는 변경된 Node IP로 새로고침을 하지 않고, 이전의 IP로 계속 연결을 시도합니다. [환경] Lettuce 버전 : 5.1.8 버전 Redis 버전 : 5.0.5 Kubernetes에서 6개의 Pod로 Redis Cluster를 구축 Statefulset을 통해서 Redis-cluster 배포 Redis Pod중 일부가 재시작되면서, Redis의 NodeID는 같지만, IP가 변경됨 Redis Cluster는 깨지지 않음. Lettuce에서는 Redis Pod의 이전IP를 사용하여 연결을 시도함. [예상되는 동작] 노드의 IP가 변경되면, 변경된IP를 Catch 하여 새로운 .. 2023. 9. 4.
Redis 명령어 모음 사용법 Redis 기본 명령어 연결(Connect) $ redis-cli -h -p -a GET/SET 지정된 값 가져오기, 설정하기 DEL 지정된 값 삭제하기 INFO Redis 서버 설정 정보 확인하기 https://redis.io/commands/info MONITOR Redis에서 수행되는 명령어를 실시간으로 모니터링하기 이외에도 RENAME, SADD, SCAN, SMEMBER 등 여러 명령어가 존재한다. 모든 명령어 모음 : https://redis.io/commands Redis Cluster 명령어 Redis 명령어중 Cluster 명령어 모음 : https://redis.io/commands#cluster 사용법 모음 : http://redisgate.kr/redis/cluster/redis-c.. 2023. 9. 3.
Redis Cluster On Kubernetes Redis Cluster를 Kubernetes 환경에 배포하기 위해선, StatusfulSets과 PersistentVolumes 의 조합이 필요합니다. 추가로, kubernetes cluster에서 활용하려면, Service 까지 필요합니다. Redis Kubernetes 컨테이너 환경 구성 Redis Service Redis ConfigMap Redis StatusfulSets Redis PersistentVolumes Redis Cluster 구성 Redis Cluster 상태 확인 [Service 배포] $ kubectl apply -f redis-svc.yaml service/redis-cluster created redis-svc.yaml apiVersion: v1 kind: Service m.. 2023. 9. 3.
반응형