Như đã nêu trong tiêu đề, chúng tôi đang gặp sự cố với cụm Cassandra của mình. Có 9 nút với một hệ số sao chép 3 sử dụng MạngTopologyChiến lược. Tất cả trong cùng một DC và Rack. Phiên bản Cassandra là 3.11.4 (dự định di chuyển vào ngày 3.11.10). trường hợp có 4 CPU và RAM 32GB. (dự định chuyển sang 8 CPU)
Bất cứ khi nào chúng tôi cố gắng chạy sửa chữa trên cụm của mình (sử dụng Cassandra Reaper trên một trong các nút của chúng tôi), chúng tôi sẽ mất một nút ở đâu đó trong quá trình này. Chúng tôi nhanh chóng dừng sửa chữa, khởi động lại dịch vụ Cassandra trên nút và đợi nó tham gia vòng. Vì vậy, chúng tôi không bao giờ có thể chạy sửa chữa những ngày này.
Tôi đã quan sát sự cố và nhận ra rằng sự cố này là do mức sử dụng CPU cao trên một số nút của chúng tôi (chính xác là 3). Bạn có thể thấy biểu đồ khoảng thời gian 1 tuần ở bên dưới. Thăng trầm là do việc sử dụng ứng dụng.Vào buổi sáng, nó rất thấp.
biểu đồ sử dụng CPU
Tôi đã so sánh các quy trình đang chạy trên mỗi nút và không có gì bổ sung trên các nút có CPU cao. Tôi đã so sánh các cấu hình. Chúng giống hệt nhau. Không thể tìm thấy bất kỳ sự khác biệt.
Tôi cũng nhận ra rằng các nút này là những nút chiếm phần lớn lưu lượng truy cập. Xem biểu đồ khoảng thời gian 1 tuần ở bên dưới. Cả byte đã gửi và nhận.
Biểu đồ byte đã gửi và đã nhận
Tôi đã thực hiện một số nghiên cứu. tôi đã tìm thấy cái này chủ đề và cuối cùng, nên đặt dynamic_snitch: sai
trong cấu hình Cassandra. Tôi đã xem chiến lược snitch của chúng tôi đó là GossipingPropertyFileSnitch. Trong thực tế, chiến lược này sẽ hoạt động bình thường nhưng tôi đoán là không.
Công việc của một kẻ chỉ điểm là cung cấp thông tin về cấu trúc liên kết mạng của bạn để Cassandra có thể định tuyến các yêu cầu một cách hiệu quả.
Quan sát duy nhất của tôi có thể là nguyên nhân của sự cố này là có một tệp có tên cassandra-topology.properties đó là cụ thể nói để được gỡ bỏ nếu sử dụng GossipingPropertyFileSnitch
Giá đỡ và trung tâm dữ liệu cho nút cục bộ được xác định trong cassandra-rackdc.properties và được truyền đến các nút khác thông qua tin đồn. Nếu cassandra-topology.properties tồn tại, nó sẽ được sử dụng làm dự phòng, cho phép di chuyển từ PropertyFileSnitch.
Tôi đã không xóa tệp này vì tôi không thể tìm thấy bất kỳ bằng chứng chắc chắn nào cho thấy điều này gây ra sự cố. Nếu bạn có bất kỳ kiến thức nào về vấn đề này hoặc thấy bất kỳ lý do nào khác cho vấn đề của tôi, tôi sẽ đánh giá cao sự giúp đỡ của bạn.