2013-07-10 32 views
8

Tôi hiện đang trong quá trình nâng cấp cụm nút 21 từ 0,8 lên phiên bản 1.0.11. Quá trình nâng cấp cassandra yêu cầu sstables được cập nhật thành định dạng mới nhất sau khi nâng cấp phần mềm (thông qua bản nâng cấp nodetool). Quá trình này có vẻ mất rất nhiều thời gian. Tôi có một nút đang chạy nó trong 48 giờ và vẫn chưa hoàn thành.cách tốt nhất để chạy nâng cấp nodetool sau khi cập nhật?

Tôi muốn biết liệu bạn có nên thực hiện điều này song song trên tất cả các nút hay không. Cụ thể, ý nghĩa hiệu suất sẽ là gì? Cụm này là dưới r/w sử dụng khá nặng và cần phải có sẵn 24/7.

+1

3 năm sau, tôi có cùng một vấn đề. Làm thế nào bạn quản lý để làm cho nó hoạt động? – FGRibreau

Trả lời

6

Trong quá trình nén, các nút của bạn sẽ được viết lại mọi lỗi ở tốc độ "compaction_throughput_mb_per_sec".

Tôi đoán là các tác động hiệu suất được liên kết trực tiếp với giá trị của cài đặt này. Giá trị thấp (mặc định là 16Mb, bạn có thể hạ thấp) nên cho phép bạn nâng cấp cụm của mình mà không làm chậm nó xuống.

0

Tôi chạy nâng cấp đồng thời trên tất cả các nút. Tôi chạy lệnh (trên Linux)

nohup nodetool upgradesstables & 

rồi đăng xuất và để nó chạy. Đó là một nhiệm vụ ưu tiên thấp, và nó sẽ mất bao lâu nó cần phải mất để viết lại tất cả các sstables cần viết lại. Tôi đã không nhận thấy bất kỳ vấn đề độ trễ trong khi nâng cấp đang chạy.

Nếu, ví dụ, bạn có 1TB dữ liệu trên mỗi nút (nghịch ngợm!), Thì nâng cấp cần viết lại tất cả 1TB dữ liệu trên nhiều tệp. Đọc văn bản này nhiều dữ liệu ở tốc độ chậm nó chạy có thể mất vài ngày.

lưu ý: như sstables là không thay đổi và vì sao lưu được thực hiện bằng cách tạo liên kết cứng đến tệp ổn định, khi tiến trình nâng cấp đang hoạt động, bạn sẽ tăng gấp đôi dung lượng đĩa được sử dụng. Vì vậy, hãy xem không gian đĩa của bạn và xóa ảnh chụp nhanh nếu cần để giải phóng dung lượng, đặc biệt nếu các nút của bạn đang sử dụng hơn 50% không gian đĩa cho dữ liệu.