Thêm tính năng hỗ trợ giá đỡ Cassandra

Phần này đưa ra hướng dẫn chung về việc mở rộng quy mô hoạt động của Cassandra bằng cách thông báo cho Cassandra trên Apigee Edge dành cho đám mây riêng tư về giá đỡ đám mây riêng tư.

Để biết thêm thông tin về lý do tại sao việc nhận biết giá đỡ nhẫn Cassandra lại quan trọng, hãy xem các tài nguyên sau:

Giá đỡ là gì?

Giá đỡ Cassandra là một nhóm logic các nút Cassandra trong vòng. Cassandra sử dụng giá đỡ để đảm bảo các bản sao được phân phối giữa các nhóm logic khác nhau. Do đó, các hoạt động được gửi không chỉ đến một nút mà còn đến nhiều nút, mỗi nút trên một giá đỡ riêng biệt, giúp cải thiện khả năng chấp nhận lỗi và khả năng xử lý.

Các ví dụ trong phần này sử dụng 3 giá đỡ Cassandra. Đây là số lượng giá đỡ được Apigee hỗ trợ trong các cấu trúc liên kết sản xuất.

Việc cài đặt mặc định Cassandra trong Apigee Edge dành cho đám mây riêng tư sẽ giả định một giá logic duy nhất và đặt tất cả các nút vào một trung tâm dữ liệu bên trong đó. Mặc dù cấu hình này dễ cài đặt và quản lý, nhưng rất dễ bị lỗi nếu thao tác không thành công trên một trong các nút đó.

Hình ảnh sau đây cho thấy cấu hình mặc định của vòng Cassandra:

1 giá có 3 nút
(Hình 1) Cấu hình mặc định: Tất cả các nút trên một giá đỡ duy nhất

Ở một cấu hình mạnh mẽ hơn, mỗi nút sẽ được gán cho một giá đỡ riêng biệt và các thao tác cũng sẽ được thực thi trên các bản sao của mỗi giá trị đó.

Hình ảnh sau đây cho thấy một vòng 3 nút. Hình ảnh này cho thấy thứ tự sao chép các thao tác trên vòng tròn (theo chiều kim đồng hồ) và làm nổi bật thực tế là không có hai nút nào trên cùng một giá:

3 giá đỡ, mỗi giá đỡ 1 nút
(Hình 2) Cấu hình nhận biết khung: Ba nút, mỗi nút trên một giá đỡ

Trong cấu hình này, các hoạt động được gửi đến một nút nhưng cũng được gửi tới các bản sao của nút đó trên các giá đỡ khác (theo chiều kim đồng hồ).

Thêm nhận biết giá (với 3 nút)

Tất cả cấu trúc liên kết cài đặt phát hành chính thức của Apigee Edge for Private Cloud đều có ít nhất 3 nút Cassandra, phần này gọi là "IP1", "IP2" và "IP3". Theo mặc định, mỗi nút này nằm trong cùng một giá đỡ, "ra-1".

Phần này mô tả cách chỉ định nút Cassandra cho các giá đỡ riêng biệt để tất cả thao tác được gửi tới các nút bản sao trong các nhóm logic riêng biệt trong vòng nhẫn.

Cách chỉ định các nút Cassandra cho các giá đỡ khác nhau trong quá trình cài đặt:

  1. Trước khi chạy trình cài đặt, hãy đăng nhập vào nút Cassandra và mở tệp cấu hình im lặng sau đây để chỉnh sửa:
    /opt/silent.conf

    Tạo tệp nếu tệp chưa tồn tại và đảm bảo đặt người dùng "apigee" làm chủ sở hữu.

  2. Chỉnh sửa thuộc tính CASS_HOSTS, một danh sách các địa chỉ IP được phân tách bằng dấu cách (không phải mục nhập DNS hoặc tên máy chủ) sử dụng cú pháp sau:
    CASS_HOSTS="IP_address:data_center_number,rack_number [...]"

    Giá trị mặc định là một vòng Cassandra ba nút với mỗi nút được gán cho giá 1 và trung tâm dữ liệu 1, như ví dụ sau đây:

    CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
  3. Thay đổi cách chỉ định giá trị để nút 2 được gán cho giá đỡ 2 và nút 3 được gán cho giá đỡ 3, như ví dụ dưới đây:
    CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"

    Bằng cách thay đổi cách gán giá đỡ, bạn hướng dẫn Cassandra tạo thêm hai nhóm logic (giá đỡ), sau đó cung cấp các bản sao nhận được tất cả thao tác mà nút đầu tiên nhận được.

    Để biết thêm thông tin về cách sử dụng thuộc tính cấu hình CASS_HOSTS, hãy xem Tài liệu tham khảo về tệp cấu hình cạnh.

  4. Lưu các thay đổi vào tệp cấu hình và thực thi lệnh sau để cài đặt Cassandra với cấu hình đã cập nhật:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config

    Ví dụ:

    /opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
  5. Lặp lại quy trình này cho mỗi nút Cassandra trong vòng tròn, theo thứ tự mà các nút được gán trong thuộc tính CASS_HOSTS. Trong trường hợp này, bạn phải cài đặt Cassandra theo thứ tự sau:
    1. Nút 1 (IP1)
    2. Nút 2 (IP2)
    3. Nút 3 (IP3)

Sau khi cài đặt, bạn nên Kiểm tra cấu hình Cassandra.

Kiểm tra cấu hình Cassandra

Sau khi cài đặt cấu hình Cassandra có khả năng nhận biết giá đỡ, bạn có thể kiểm tra để đảm bảo rằng các nút đã được gán cho các giá đỡ khác nhau bằng lệnh nodetool status, như ví dụ dưới đây cho thấy:

/opt/apigee/apigee-cassandra/bin/nodetool status

(Bạn thực thi lệnh này trên một trong các nút Cassandra.)

Kết quả sẽ tương tự như kết quả sau, trong đó cột Rack cho thấy các mã giá đỡ khác nhau cho mỗi nút:

Datacenter: dc-1
========================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens  Owns    Host ID                             Rack
UN  IP1   737 MB  256     ?     554d4498-e683-4a53-b0a5-e37a9731bc5c     ra-1
UN  IP2   744 MB  256     ?     cf8b7abf-5c5c-4361-9c2f-59e988d52da3     ra-2
UN  IP3   723 MB  256     ?     48e0384d-738f-4589-aa3a-08dc5bd5a736     ra-3

Nếu đã bật tính năng xác thực JMX cho Cassandra, bạn cũng phải truyền tên người dùng và mật khẩu của mình vào nodetool. Để biết thêm thông tin, hãy xem phần Sử dụng công cụ nút để quản lý các nút cụm.

Lắp vòng sáu nút

Để dự phòng thêm, bạn có thể mở rộng vòng Cassandra đến 6 nút. Trong trường hợp này, bạn gán hai nút cho mỗi nút trong số 3 giá đỡ. Cấu hình này yêu cầu thêm ba nút: Nút 4 (IP4), Nút 5 (IP5) và Nút 6 (IP6).

Hình ảnh sau đây cho thấy thứ tự sao chép các thao tác trên vòng tròn (theo chiều kim đồng hồ) và làm nổi bật thực tế là trong quá trình sao chép, không có 2 nút liền kề nào nằm trên cùng một giá đỡ:

3 giá đỡ, mỗi giá có 2 nút
(Hình 3) Vòng Cassandra 6 nút: Hai nút trên mỗi trong số 3 giá đỡ

Trong cấu hình này, mỗi nút có thêm hai bản sao: một bản sao ở mỗi nút trong hai giá đỡ còn lại. Ví dụ: nút 1 trong giá 1 có một bản sao trong Giá 2 và Giá 3. Các thao tác gửi đến nút 1 cũng được gửi đến các bản sao trong các giá đỡ khác theo thứ tự chiều kim đồng hồ.

Để mở rộng vòng Cassandra ba nút thành vòng Cassandra sáu nút, hãy định cấu hình các nút theo cách sau trong tệp cấu hình im lặng:

CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"

Giống như vòng ba nút, bạn phải cài đặt Cassandra theo thứ tự các nút xuất hiện trong thuộc tính CASS_HOSTS:

  1. Nút 1 (IP1)
  2. Nút 4 (IP4)*
  3. Nút 2 (IP2)
  4. Nút 5 (IP5)
  5. Nút 3 (IP3)
  6. Nút 6 (IP6)

* Thực hiện các thay đổi của bạn trong tệp cấu hình im lặng trước khi chạy tiện ích thiết lập ở nút thứ tư (máy thứ hai theo thứ tự cài đặt Cassandra).

Mở rộng tối đa 12 nút

Để tăng thêm khả năng chống lỗi và khả năng sử dụng lỗi, bạn có thể tăng số lượng nút Cassandra trong vòng từ 6 lên 12. Cấu hình này yêu cầu thêm 6 nút (IP7 đến IP12).

Hình ảnh sau đây cho thấy thứ tự sao chép các thao tác trên vòng tròn (theo chiều kim đồng hồ) và làm nổi bật thực tế là trong quá trình sao chép, không có 2 nút liền kề nào nằm trên cùng một giá đỡ:

3 giá đỡ, mỗi giá có 4 nút
(Hình 4) Vòng Cassandra 12 nút: Bốn nút trên mỗi giá trị trong số 3 giá đỡ

Quy trình cài đặt một vòng 12 nút tương tự như cài đặt một vòng 3 hoặc 6 nút: đặt CASS_HOSTS thành các giá trị cho sẵn và chạy trình cài đặt theo thứ tự đã chỉ định.

Để mở rộng thành vòng Cassandra 12 nút, hãy định cấu hình các nút theo cách sau trong tệp cấu hình im lặng:

CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"

Giống như vòng ba và sáu nút, bạn phải thực thi trình cài đặt trên các nút theo thứ tự xuất hiện các nút trong tệp cấu hình:

  1. Nút 1 (IP1)
  2. Nút 7 (IP7)*
  3. Nút 4 (IP4)
  4. Nút 8 (IP8)
  5. Nút 2 (IP2)
  6. Nút 9 (IP9)
  7. Nút 5 (IP5)
  8. Nút 10 (IP10)
  9. Nút 3 (IP3)
  10. Nút 11 (IP11)
  11. Nút 6 (IP6)
  12. Nút 12 (IP12)

* Bạn phải thực hiện những thay đổi này trước khi cài đặt Apigee Edge cho Đám mây riêng tư trên nút thứ 7 (máy thứ hai theo thứ tự cài đặt Cassandra).