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

Phần này cung cấp hướng dẫn chung về cách mở rộng quy mô hoạt động của Cassandra bằng cách thiết kế Cassandra trên Apigee Edge để nhận biết giá đỡ Private Cloud.

Để biết thêm thông tin về lý do khiến bạn cần nhận biết được giá đỡ vòng Cassandra quan trọng, hãy xem phần sau tài nguyên:

Giá đỡ là gì?

Giá đỡ Cassandra là một nhóm logic gồm các nút Cassandra trong vòng nhẫn. Cassandra sử dụng các giá đỡ để có thể đảm bảo các bản sao được phân phối giữa các nhóm logic khác nhau. Là một kết quả, toán tử không chỉ được gửi đến một nút, mà còn nhiều nút, mỗi nút trên một giá cung cấp khả năng chống lỗi và tính sẵn có cao hơn.

Các ví dụ trong phần này sử dụng 3 giá Cassandra, tức là số lượng giá Xin lỗi họ khi phát hành ứng dụng do Apigee hỗ trợ.

Chế độ cài đặt mặc định của Cassandra trong Apigee Edge cho Private Cloud giả định một giá trị logic duy nhất và đặt tất cả các nút trong trung tâm dữ liệu bên trong nó. Mặc dù cấu hình này rất đơn giản để cài đặt và quản lý, 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 trang giá đỡ

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

Hình ảnh sau đây minh hoạ một vòng có 3 nút. Hình ảnh này thể hiện thứ tự thực hiện thao tác được sao chép trên vòng nhẫ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 nằm trên cùng một nút giá đỡ:

3 giá, mỗi giá có 1 nút
(Hình 2) Cấu hình nhận biết dữ liệu khung: 3 nút, mỗi nút có một nút giá đỡ

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

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

Tất cả các Liên kết cài đặt ứng dụng Apigee Edge cho Private Cloud đều có ít nhất 3 nút Cassandra, trong đó mục này có tên 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 các nút Cassandra cho các giá riêng biệt để tất cả thao tác được gửi đến các nút bản sao trong các nhóm logic riêng biệt trong vòng.

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

  1. Trước khi bạn 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 chưa có và đảm bảo tạo tệp "api" cho người dùng một chủ sở hữu.

  2. Chỉnh sửa thuộc tính CASS_HOSTS, một danh sách địa chỉ IP được phân tách bằng dấu cách (không phải 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à vòng Cassandra ba nút, trong đó mỗi nút được gán cho giá 1 và dữ liệu tâm 1, như trong ví dụ sau đây:

    CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
  3. Thay đổi việc gán giá để sao cho nút 2 được gán cho giá 2 và nút 3 được gán cho giá 3, như trong 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 logic nhóm (giá đỡ), sau đó cung cấp bản sao nhận tất cả hoạt động mà nút đầu tiên.

    Để 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 Tham chiếu tệp cấu hình cạnh.

  4. Lưu các thay đổi của bạn 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 của bạn:
    /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, 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 nhận biết giá đỡ, bạn có thể kiểm tra xem các nút có đang được gán cho các giá khác nhau bằng cách sử dụng lệnh nodetool status, dưới dạng ví dụ sau đâ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ư sau, trong đó cột Rack hiển thị các mã giá khác nhau cho từng 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 phương thức xác thực JMX cho Cassandra, bạn cũng phải chuyển tên người dùng và mật khẩu đăng nhập vào nodetool. Để biết thêm thông tin, hãy xem Sử dụngnodetool để quản lý các nút cụm.

Lắp đặt vòng tròn có 6 nút

Để tăng thêm khả năng dự phòng, bạn có thể mở rộng vòng Cassandra ra 6 nút. Trong trường hợp này, bạn gán 2 nút cho mỗi kệ. Cấu hình này yêu cầu thêm 3 nút: Nút 4 (IP4), Nút 5 (IP5) và Nút 6 (IP6).

Hình ảnh sau đây minh hoạ thứ tự sao chép các thao tác trên vòng nhẫn (theo chiều kim đồng hồ) và nêu bật thực tế là trong quá trình sao chép, không có hai nút liền kề nào nằm trên cùng một nú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 3 kệ

Trong cấu hình này, mỗi nút có thêm hai bản sao: một bản sao trong mỗi giá trị còn lại. Cho 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 được gửi đến nút 1 cũng gửi đến các bản sao trong các giá khác theo thứ tự theo chiều kim đồng hồ.

Để mở rộng vòng Cassandra 3 nút sang vòng Cassandra 6 nút, hãy định cấu hình các nút trong sau đây trong tệp cấu hình im lặng của bạn:

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 cùng thứ tự mà 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 trong tệp cấu hình im lặng trước khi chạy tiện ích thiết lập trên nút thứ tư (máy thứ hai theo thứ tự cài đặt Cassandra).

Mở rộng lên 12 nút

Để tăng hơn nữa khả năng chống lỗi và khả năng sử dụng, bạn có thể tăng số lượng Cassandra các nút trong vòng từ 6 đế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 minh hoạ thứ tự sao chép các thao tác trên vòng nhẫn (theo chiều kim đồng hồ) và nêu bật thực tế là trong quá trình sao chép, không có hai nút liền kề nào nằm trên cùng một nút giá đỡ:

3 giá đỡ, mỗi giá có 4 nút
(Hình 4) Vòng Cassandra 12 nút: 4 nút trên mỗi 3 nút kệ hàng

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

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

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"

Cũng như với các vòng 3 và 6 nút, bạn phải thực thi trình cài đặt trên các nút theo thứ tự trong các nút xuất hiện 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 Private Cloud trên nút thứ 7 (máy thứ hai trong đơn đặt hàng cài đặt Cassandra).