지금 우리는 3 개의 노드가있는 DC가 있고 3의 복제가 있으면 노드를 폐기해야합니다. 내 복제를 2로 줄이거 나 폐기하는 노드는 3 개의 복제를 사용하여 두 노드 사이의 데이터를 조정합니다.복제> no.of 노드 (퇴역 노드 계획)
0
A
답변
1
노드를 제거해도 Cassandra 클러스터가 반드시 중단되지는 않지만 몇 가지 작업이 중지되도록 설정됩니다.
노드를 해제하지만, 복제 팩터 조정하지 않는 경우에 발생합니다 몇 가지 : 노드를 해제하기 때문에
가- 먼저 복제 요인에 대해 아무것도 그냥 변경되지됩니다. 그렇게하지 않으면 혼돈이 초래 될 것입니다.
- 쿼리 (읽기 및 쓰기)가 BOTH 남아있는 기계에 응답해야하므로 3 기계, 덜 사용할 수 있습니다
ConsistencyLevel.QUORUM
와 - 쿼리 참여 얻을 수 없기 때문에, 실패
ConsistencyLevel.ALL
를 사용하는 것을 시도 쿼럼을 충족시키는 쿼리.
3 대의 기계와 3의 RF가 있기 때문에 모든 기계에 완전한 데이터 사본이 있음을 의미합니다. 노드 update your replication factor을 해제하고 나머지 두 노드에서 nodetool repair
을 실행하십시오. 그렇게 한 후에는 잘 가야합니다.
0
내 2 센트 : 먼저 복제를 2로 변경하고 모든 노드에서 복구를 실행 한 다음 해제 할 노드에서 "nodetool decommission"을 실행하는 것이 좋습니다. 데이터가 돌아 다니기는하지만이 방법을 사용하면 아무 것도 작동하지 않아야합니다.
관련 문제
- 1. 카산드라 : 시드 노드 퇴역
- 2. 노드 레드 : CSV 노드
- 3. Firebase의 구조 노드 노드
- 4. 노드
- 5. 노드
- 6. 노드
- 7. 노드
- 8. 노드
- 9. 노드
- 10. 노드
- 11. 노드
- 12. 노드
- 13. 노드
- 14. 노드 -
- 15. 노드
- 16. 노드
- 17. 노드
- 18. 노드
- 19. 노드
- 20. 노드
- 21. 노드
- 22. 노드
- 23. 노드
- 24. 노드
- 25. JQuery를 사용하는 하위 노드 노드
- 26. 노드 비누 노드 비누를 사용
- 27. 노드 JS CLI + 노드 라이브러리
- 28. 노드 디버그로 노드 js 디버그
- 29. 노드 필터 아래 NEO4J 노드
- 30. 그래프 노드 .dot 노드 순서
안녕하세요 @riwalk 이것은 내가 책임지고있는 데이터를 내 노드에서 폐기하는 경우 나에게 혼란 스럽습니다. 나머지 두 노드 사이에 배포해야합니다. 내 2 노드 사이에 분산되어 있다면 Consistency.ALL에서도 쿼리가 실패하는 이유는 무엇입니까? 데이터가 나머지 두 노드 사이에 분배되지 않으면 그 이유는 무엇입니까 ?? 2 노드의 나머지는 같은 데이터를 가지고 있기 때문에 그것은 무엇입니까 ?? 그런 다음 서비스 해제는 노드 하나에서 서비스를 중지하는 것과 같습니다. – user6288321
@ user6288321, Consistency.ALL은 모든 복제본을 응답 받아야 함을 의미합니다. RF가 3 인 경우 성공적인 조회로 간주하기 전에 결과를 리턴하는 데 3 개의 서 v가 필요합니다. 물론 2 대의 기계에 대한 전체 데이터 세트가 있지만 2는 3이 아니며 "모두"를 사용하면 3 가지 응답이 필요합니다. – riwalk