Lựa chọn tùy chọn cấu hình nút

Một phần của tài liệu hệ cơ sở dữ liệu phân tán cassandra (Trang 31 - 35)

2. Kiến trúc Cassandra

2.9.3Lựa chọn tùy chọn cấu hình nút

2.9 Lập kế hoạch triển khai cụm Cassandra

2.9.3Lựa chọn tùy chọn cấu hình nút

Một phần chính của kế hoạch triển khai cụm Cassandra là hiểu và thiết lập các thuộc tính cấu hình nút khác nhau. Trong phần này giải thích các quyết định cấu hình khác nhau cần được thực hiện trước khi triển khai một cụm Cassandra, hoặc là cụm trung

tâm đa dữ liệu hoặc là đa nút hoặc đơn nút.

Những thuộc tính này được đề cập trong phần này được thiết lập trong file cấu

hình cassandra.yaml. Mỗi nút nên được cấu hình đúng trước khi khởi động nó lần đầu

tiên.

Thiết lập nơi lưu trữ:

Mặc định, một nút được cấu hình lưu trữ dữ liệu nó quản lý trong

/var/lib/cassandra. Trong triển khai một cụm, bạn nên thay đổi commitlog_directory để

nóở trên các thiết bị ổ đĩa khác hơn làdata_file_directories.

Thiết lập Gossip

Thiết lập gossip kiểm soát sự tham gia một nút trong một cụm và làm thế nào biết

được một nút thuộc mộtcụm.

Thuộc tính Mơ tả

Cluster_name Tên của cụm nơi mà nút tham gia. Tên chung cho mỗi nút trong một cụm

Listen_address Địa chỉ IP hoặc tên máy chủ mả các nút Cassandra khác sẽ

sử dụng để kết nối tới nút này. Nên được thay đổi từ

localhost thành địa chỉ công cộng đối với máy chủ.

Seeds Một danh sách các địa chỉ Ip các nút khởi tạo của quá trình Gossip. Mỗi nút phải có cùng một danh sách các seed. Trong các cụm trung tâm đa dữ liệu, danh sách seed bao gồm các nút đến từ mỗi trung tâm dữ liệu.

Storage_port Cổng giao tiếp giữa các nút ( mặc định là 7000),

Initial_token Được sử dụng để định nghĩa dãy các dữ liệu mà nút chịu

Thanh lọc trạng thái Gossip trên mỗi nút

Thông tin Gossip được lưu trữ cục bộ bởi mỗi nút để sử dụng ngay lập tức trong lần khởi động kế tiếp mà khơng có bất cứ sự chờ đợi Gossip. Để làm sạch lịch sử gossip trong mỗi

lần khởi động nút (ví dụ, địa chỉ IP nút thay đổi), thì thêm dịng sau đây vào file

cassandra-env.sh. File nà được đặt trong /usr/share/cassandra hoặc <install_location>/conf.

-Dcassandra.load_ring_state=false

Cài đặt phân vùng

Khi bạn triển khai một cụm Cassandra, bạn cần phải chắcchắn rằng mỗi nút là chịutrách nhiệm cho một số lượng dữ liệu. Điều này còn được gọi là cân bằng tải.Điều này được

thực hiệnbằngcách cấu hình các phân vùng cho mỗi nút, và việc gánmột cách chính xác cho các nút giá trịinitial_token.

DataStax khuyến cáo sử dụng RandomPartitioner (mặc định) đối với tất cả các triển khai

cụm. Giả định sử dụng phân vùng này, mỗi nút trong cụm được gán một token mà biểu diện một giá trị băm trong dãy từ 0 tới 2**127.

Đối với các cụm trong đó tất cả các nút nằm trong trung tâm dữ liệu đơn, bạn có thể tính (adsbygoogle = window.adsbygoogle || []).push({});

tốn các token bằng việc chia dãy cho tổng số nút trong cụm. Trong triển khai trung tâm

đa dữ liệu, token nên được tính tốn để mỗi trung tâm dữ liệu được cân bằng tải. Xem Calculating Tokens đối với các phương pháp khác nhau để sinh token cho mỗi nút trong

các cụm trung tâm đa dữ liệu và đơn dữ liệu.

Cấu hình thơng tin

Thơng tin (Snitch) cho biết vị trí của các nut trong topo mạng. Điều nàyảnh hưởng đến nơi mà những bản sao được đặt cũng như cách các truy vấn được định tuyến giữa các bản sao như thế nào. Thuộc tính endpoint_snitch cấu hình thơng tin cho nút. Tát cả các nút

nên có cùng một cấu hình thơng tin.

Đối với các cụm trung tâm đơn dữ liệu (hoặc nút đơn), sử dụng mặc địnhSimpleSnitch là

đủ. Tuy nhiên, nếu ban lập kế hoạch để mở rộng các cụm của bạn ở các thời điểm sau đó

thành nhiều trung tâm dữ liêu và nhiều giá dữ liệu, thì ban nên chọn trước các kiểu cấu hình thơng tin về trung tâm dữ liệu và rách từ khi bắt đầu.

PropertyFileSnitch cho phép bạn định nghĩa tên trung tâm dữ liệu và tên giá là bất cứ cái gì mà bạn muốn. Việc sử dụng thông tin này yêu cầu bạn định nghĩa chi tiết mạng cho mỗi nút trong cụm trong file cấu hình cassandra-topology.properties. File này được đặt

trong /etc/cassandra/conf/cassandra.yaml đối với chương trình cài đặt đã được đóng gói

hoặc trong <install_location>/conf/cassandra.yaml đối với chương trình cài đặt ở dạng

nhị phân.

Ví dụ, giả sử bạn có một địa chỉ IP khơng đồng nhất và hai trung tâm dữ liệu vật lý với hai giá trong mỗi trung tâm, và một trung tâm dữ liệu lô gic thứ 3 để sao chép dữ liệu phân tích:

# Data Center One

175.56.12.105=DC1:RAC1 175.50.13.200=DC1:RAC1 175.54.35.197=DC1:RAC1 120.53.24.101=DC1:RAC2 120.55.16.200=DC1:RAC2 120.57.102.103=DC1:RAC2 # Data Center Two

110.56.12.120=DC2:RAC1 110.50.13.201=DC2:RAC1 110.54.35.184=DC2:RAC1 50.33.23.120=DC2:RAC2 50.45.14.220=DC2:RAC2 50.17.10.203=DC2:RAC2 # Analytics Replication Group 172.106.12.120=DC3:RAC1 172.106.12.121=DC3:RAC1

172.106.12.122=DC3:RAC1 # default for unknown nodes default=DC3:RAC1

Một phần của tài liệu hệ cơ sở dữ liệu phân tán cassandra (Trang 31 - 35)