programing

Galera 노드가 클러스터에 연결할 수 없음

yellowcard 2023. 8. 8. 21:28
반응형

Galera 노드가 클러스터에 연결할 수 없음

안녕하세요 저는 10.1.12-MariaDB와 함께 Galera를 사용하고 있으며 SST 방법은 xtrabackup-v2입니다.

SST=rsync를 추천하지 마세요. 저에게는 안 됩니다.

정상적인 클러스터 8개 노드가 있으며, 때때로 하나 또는 소수의 노드가 작동 중단됩니다.나는 그냥service mysql시작하면 클러스터에 성공적으로 연결되고 모든 것이 정상입니다.

그러나 연결이 끊어진 노드가 며칠 동안 중단되면 클러스터에 연결할 수 없는 경우가 있습니다.

몇 번 시도한 후에 나는rm -fr /var/lib/mysql/*&rm -fr /var/log/mysql/*아무것도 없습니다. syslog에 다음 메시지가 있습니다.

mysqld: [ERROR] Binlog file '/var/log/mysql/mariadb-bin.003079' not found in binlog index, needed for recovery. Aborting.

나는 이것으로 어떻게 작동하는지 알고 있습니다. 위의 메시지가 있는 클러스터에 연결할 수 없는 노드가 있을 때 클러스터를 복구할 수 있으므로 다음을 수행합니다.

  1. 모든 노드를 종료하고 노드 하나만 남깁니다.
  2. 마지막 노드를 종료하고rm -fr /var/log/mysql/*
  3. 삭제된 binlog로 이 마지막 노드를 부트스트랩합니다.
  4. 클러스터에 다른 노드 연결service mysql start
  5. 이익 - 모든 것이 괜찮습니다.

그러나 문제는 다음과 같습니다.

빅 사이트 트래픽을 처리할 수 있는 노드가 8개이고 모든 트래픽이 전송되면 실행 중인 노드가 1개이므로 모든 운영 노드를 다운시킬 수 없습니다(물론 과부하로 인해).

질문:

제발 도와주세요.노드가 연결되지 않고 오류가 발생할 때 클러스터에 노드를 연결하는 방법mysqld: [ERROR] Binlog file '/var/log/mysql/mariadb-bin.003079' not found in binlog index, needed for recovery. Aborting.

크기가 얼마나 됩니까?gcacheIST를 노드 재연결에 사용할 수 있는지 여부를 제어합니다.

의 가치는 무엇입니까?expire_log_days연결하기 전에 빈로그가 없어졌을 정도로 작습니까?SST를 위해 하나를 잃었지만 다른 하나가 필요하다면 '빅 사이트'에 서비스를 제공할 6개가 남아 있습니다.노드가 윙크아웃된 경우에도 사이트를 처리하려면 배포를 10개 노드로 늘려야 합니다.

당신은 SST에 걸린 것처럼 들립니다.

느린 로그를 보고 일부 쿼리가 너무 오래 걸려 간접적으로 시스템을 너무 많이 보유해야 하는지 확인합니다.몇 개의 쿼리를 수정하는 것은 추가 컴퓨터를 추가하는 것보다 훨씬 '저렴'합니다.

언급URL : https://stackoverflow.com/questions/36195742/galera-node-cant-connect-to-cluster

반응형