Contents:
Khi triển khai hệ thống Cassandra, việc thêm hay bớt nodes có thể xảy ra do nhiều nguyên nhân: cấu hình nhầm, hoặc bớt nodes để giảm tải cho cluster.
Muốn thêm nodes vào Cassandra Cluster, bạn phải cài đặt trên nodes mới phiên bản Cassandra giống như phiên bản đang chạy trên Cluster.
Cụ thể các bước để thêm nodes vào Cassandra Cluster như sau:
Xem thêm: Cài đặt và cấu hình Cassandra trên Centos
Lưu ý không khởi động Cassandra sau khi cài đặt xong. Nếu lỡ khởi động bạn phải xóa sạch dữ liệu trước khi thêm vào cluster bằng lệnh:
rm -rf /var/lib/cassandra/*
Nếu sử dụng Ubuntu, sau khi cài xong Cassandra sẽ tự khởi động nên bạn cũng phải xóa sạch dữ liệu nhé.
Trước khi chỉnh sửa file cassandra.yaml, bạn nên sao lưu một bản đề phòng:
# cp cassandra.yaml cassandra.yaml_org
Cần chú ý các mục sau trong file cassandra.yaml:
Lưu ý: không liệt kê địa chỉ IP nodes mới vào seed nodes.
Sau khi cấu hình xong file cassandra.yaml, bạn nên dùng lệnh diff để kiểm tra sự khác nhau giữa file đã sao lưu và file đã cấu hình. Kiểm tra luôn sự khác nhau giữa file của nodes mới và các nodes đang chạy.
# diff cassandra.yaml cassandra.yaml_org
# <Install path>/bin/cassandra
Sử dụng công cụ nodetool status để kiểm tra nodes mới đã được thêm vào cluster thành công hay chưa. Nếu trạng thái UN tức là đã thêm node mới thành công.
# <Install path>/bin/nodetool status
Sau khi xác nhận thêm nodes mới thành công, chạy lệnh nodetool cleanup trên mỗi nodes cũ sử dụng câu lệnh này để loại bỏ những dữ liệu không cần thiết sau khi thêm một node vào trong cluster. Cassandra không tự động loại bỏ các dữ liệu từ những node đã mất khoảng phân vùng của chúng tới một node mới. Bước này sẽ tốn kha khá thời gian của bạn đấy.
# <Install path>/bin/nodetool cleanup -h hostname/IP keyspace
Xem thêm: Cassandra.yaml và nodetool có những gì?
Nếu bạn muốn xóa bớt node để giảm tải cho cluster thì làm như sau:
Sử dụng công cụ nodetool status kết quả trả về trạng thái node sẽ là UN = up, DN = down.
# <Install path>/bin/nodetool status
Nếu trạng thái của node là UN thực hiện lệnh:
# <Install path>/bin/nodetool decommission
Lệnh trên có tác dụng deactive một node bằng cách stream dữ liệu của nó tới node khác, để theo dõi quá trình trên sử dụng lệnh
# <Install path>/bin/nodetool netstats
Nếu trạng thái của node là DN:
# <Install path>/bin/nodetool removenode
# <Install path>/bin/nodetool -h assassinate <ip_address>
Xem thêm: Kiến trúc mạng Cassandra
Trên đây là những hướng dẫn cơ bản về thêm, xóa nodes khi triển khai Cassandra, tùy theo điều kiện thực tế mà cách cấu hình có thể khác nhau, chúc các bạn thành công.
[quangcao1]
Thao khảo: datastax.com
Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…
Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…
20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…
Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…
CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…
Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…
Leave a Comment