두 개의 노드로 구성된 카산드라 클러스터가 있습니다. 키 범위 [A-D]가있는 데이터가 클러스터에 삽입됩니다. 대략적으로 노드 1은 키 범위 [A-B]를 갖는 데이터를 저장하고 노드 2는 키 범위 [C-D]를 갖는 데이터를 저장한다고 가정 할 수있다. 얼마 후 노드 2 개를 더 추가합니다. 균형을 유지하려면 파티션을 다시 할당해야합니다. 맞습니까? 이제는 각 노드가 정확히 1 개의 키에 대한 데이터를 저장한다고 예상합니다. Cassandra는 기존 데이터를 새 노드로 다시 할당합니까 (예 : 노드 1에서 노드 3까지 키 B가있는 기존 데이터)? 그리고 어떻게?Cassandra는 파티션을 어떻게 다시 할당합니까?
0
A
답변
0
Cassandra uses vnodes or virtual nodes 기본적으로 각 노드에는 단일 범위 (예 : [A-C])가 없지만 수백 (기본적으로 256, num_tokens
은 cassandra.yaml
)입니다. 버전에 따라 이러한 토큰 범위는 무작위로 할당되거나 이전 버전으로 할당되어 균등 분배를 극대화합니다. 이렇게하면 한 노드가 떨어지거나 노드를 추가하면 클러스터의 모든 노드가 해당 노드 범위 중 하나 옆에있어 부담을 공유하게됩니다.
관련 문제
- 1. 어떻게 문자열에서 DateTime.Now를 다시 할당합니까?
- 2. BigQuery에서 C#으로 파티션을 어떻게 다시 작성합니까?
- 3. Cassandra는 Null 값을 어떻게 저장합니까?
- 4. Apache Cassandra는 어떻게 집계 연산을 수행합니까?
- 5. 사전에 함수를 어떻게 할당합니까?
- 6. 문자열을 변수에 어떻게 할당합니까?
- 7. 어떻게 함수 포인터를 할당합니까?
- 8. NSMutableArray에 프로토콜을 어떻게 할당합니까?
- 9. UITextField에 기본값을 어떻게 할당합니까?
- 10. number_to_percentage에 클래스를 어떻게 할당합니까?
- 11. 어떻게 분할하여 데이터를 할당합니까?
- 12. 문자열에 SqlDbType.UniqueIdentifier를 어떻게 할당합니까?
- 13. 어떻게 값을 할당합니까?
- 14. 어떻게 다항식 시간에 파티션을 설정합니까?
- 15. 어떻게 현재 연도의 매월의 파티션을
- 16. 배열의 명령 출력을 어떻게 할당합니까?
- 17. C에서 하위 문자열을 어떻게 할당합니까?
- 18. C에서 구조체의 공간을 어떻게 할당합니까?
- 19. "hello"값을 문자열에 어떻게 할당합니까?
- 20. jqGird의 열에 값을 어떻게 할당합니까?
- 21. 어떻게 변수에 임의로 값을 할당합니까?
- 22. lineEdits를 일부 변수에 어떻게 할당합니까?
- 23. stringstream에 int에 문자열을 어떻게 할당합니까?
- 24. 컨트롤에 주문 번호를 어떻게 할당합니까?
- 25. 큰 배열이 어떻게 메모리를 할당합니까?
- 26. Wordpress에서 특정 주문을 어떻게 할당합니까?
- 27. 새로운 메모리 블록을 어떻게 할당합니까?
- 28. XSLT에서 변수를 어떻게 재 할당합니까?
- 29. 시퀀스 값을 변수에 어떻게 할당합니까?
- 30. 배열에 다른 주소를 어떻게 할당합니까?