Cài đặt nhiều trung tâm dữ liệu cho API BaaS

Edge for Private Cloud phiên bản 4.17.09

Bạn có thể cài đặt API BaaS trên nhiều trung tâm dữ liệu bằng cách sử dụng một API BaaS đang hoạt động . Tài liệu này mô tả cách thêm trung tâm dữ liệu BaaS vào dữ liệu BaaS hiện có giữa chiến dịch.

Thêm một trung tâm dữ liệu khi Cụm Cassandra được chia sẻ với Edge

Tất cả các trung tâm dữ liệu phải có cùng số nút Cassandra. Việc cài đặt API BaaS có thể sử dụng cụm Cassandra riêng hoặc có thể dùng chung cụm Cassandra với Edge.

Nếu quá trình cài đặt BaaS chia sẻ cụm Cassandra với Edge, bạn phải cập nhật Máy chủ quản lý trong trung tâm dữ liệu ban đầu để định cấu hình máy chủ nhằm nhận ra các nút Cassandra trong trung tâm dữ liệu mới.

Cập nhật trung tâm dữ liệu hiện có

Để thêm một trung tâm dữ liệu BaaS mới (trung tâm dữ liệu 2) bạn cần thực hiện các bước để cài đặt và định cấu hình trung tâm dữ liệu mới, nhưng bạn cũng phải cập nhật trung tâm dữ liệu BaaS gốc (trung tâm dữ liệu 1) . Những nội dung sửa đổi này là cần thiết vì:

  • Bạn đang thêm các nút Cassandra mới trong trung tâm dữ liệu mới mà trung tâm dữ liệu hiện có.
  • Bạn phải định cấu hình thông tin sao chép mà các nút Ngăn xếp BaaS sử dụng trong dữ liệu trung tâm 1 để chứa thông tin từ trung tâm dữ liệu 2. Bạn không thể thực hiện cấu hình đó cho đến trung tâm dữ liệu 2 đã được cài đặt.

Để thực hiện các cập nhật này trên trung tâm dữ liệu 1, bạn cập nhật tệp cấu hình gốc đã dùng để cài đặt trung tâm dữ liệu 1, sau đó chạy lại apigee-setup trên các nút Cassandra của dữ liệu trung tâm 1. Nếu cụm Cassandra cho trung tâm dữ liệu 1 được chia sẻ với thao tác cài đặt Edge, thì bạn cũng phải cập nhật Máy chủ quản lý.

Tạo tệp cấu hình

Để cài đặt trung tâm dữ liệu 1, hãy sử dụng cấu hình có trong phần Cài đặt API BaaS. Tệp cấu hình không cần đưa vào bất kỳ thông tin nào về trung tâm dữ liệu 2 tại thời điểm bạn cài đặt trung tâm dữ liệu 1.Bạn thêm vào tệp cấu hình sau khi cài đặt trung tâm dữ liệu 2.

Dưới đây là các tệp cấu hình cho trung tâm dữ liệu 2. Tệp cấu hình này giả định bạn đang cài đặt dc-2 trên 10 nút, như mô tả trong bài viết Cài đặt cấu trúc liên kết. Sửa đổi tệp này cho phù hợp nếu bạn đang cài đặt trên 7 nút.

Lưu ý rằng tệp cấu hình cho trung tâm dữ liệu 2 (dc-2) chứa thông tin về trung tâm dữ liệu 1 (dc-1):

# Specify IP address or DNS name of node for dc-2.
IP1=192.168.1.1   # ElasticSearch
IP2=192.168.1.2   # ElasticSearch
IP3=192.168.1.3   # ElasticSearch
IP4=192.168.1.4   # API BaaS Stack
IP5=192.168.1.5   # API BaaS Stack
IP6=192.168.1.6   # API BaaS Stack
IP7=192.168.1.7   # API BaaS Portal
IP8=192.168.1.8   # Cassandra dc-2 (shared with Edge or standalone)
IP9=192.168.1.9   # Cassandra dc-2 (shared with Edge or standalone)
IP10=192.168.1.10  # Cassandra dc-2 (shared with Edge or standalone)

# Specify node information for dc-1
IP11=192.168.1.11   # Cassandra dc-1 (shared with Edge or standalone)
IP12=192.168.1.12   # Cassandra dc-1 (shared with Edge or standalone)
IP13=192.168.1.13   # Cassandra dc-1 (shared with Edge or standalone)
IP14=192.168.1.14   # API BaaS Stack
IP15=192.168.1.15   # API BaaS Stack

# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
HOSTIP=$(hostname -i)

# Define the API BaaS administrator account.  
AS_ADMIN="superuser"    # User name - default is "superuser".
AS_ADMIN_EMAIL=stackAdmin@email.com
AS_PASSWD=stackAdminPWord

# Specify Cassandra data center and rack suffix.
# List dc-2 nodes first, then dc-1.
# Must use IP addresses for CASS_HOSTS, not DNS names.
# CASS_HOSTS="$IP8:2,1 $IP9:2,1 $IP10:2,1 $IP11:1,1 $IP12:1,1 $IP13:1,1"

# Specify the Cassandra region.
REGION=dc-2

# Cassandra uname/pword.
# Even if Cassandra authentication is disabled,
# you must still pass values for these properties.
CASS_USERNAME=cassandra    # Default value
CASS_PASSWORD=cassandra    # Default value

# Specify BaaS Cassandra connection information.
# Specify the data center name as dc-2.
BAAS_CASS_LOCALDC=dc-2    

# Specify both data centers.
BAAS_CASS_DC_LIST=dc-1,dc-2

# Replication is in the form "dataCenterName:#CassandraNodes". 
# Specify both data centers.
BAAS_CASS_REPLICATION=dc-1:3,dc-2:3

# Defines the initial contact points for members of the BaaS cluster. 
# Specify the IP address of no more than two Stack nodes per data center.
# Specify both data centers. 
BAAS_CLUSTER_SEEDS="dc-1:$IP14,dc-1:$IP15,dc-2:$IP4,dc-2:$IP5"

# ElasticSearch IPs or DNS names, separated by spaces, for dc-2.
ES_HOSTS="$IP1 $IP2 $IP3"

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
BAAS_USERGRID_CLUSTERNAME="apigee_baas" 

# URL and port of the load balancer for the API BaaS Stack nodes, 
# or IP/DNS and port 8080 of a single Stack node with no load balancer.
BAAS_USERGRID_URL=http://myloadbalancer:8443

# API BaaS Portal information.
# URL and port number of load balancer, if there is one in front of the Portal,
# or the URL and port of the Portal node.  
BAAS_PORTAL_URL="http://$IP7:9000"

# Portal port. Default value is 9000.
BAAS_PORTAL_LISTEN_PORT=9000 

# SMTP information. BaaS requires an SMTP server.
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=your@email.com
SMTPPASSWORD=yourEmailPassword
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"

Thêm trung tâm dữ liệu BaaS

  1. Cài đặt trung tâm dữ liệu đầu tiên như mô tả tại API BaaS Cài đặt. Tài liệu đó bao gồm tệp cấu hình mà bạn dùng để cài đặt dữ liệu trung tâm 1.
  2. Tạo tệp cấu hình cho dc-2 như được mô tả ở trên.
  3. Cài đặt Cassandra dưới dạng một phần cài đặt Edge hiện có hoặc dưới dạng độc lập cụm cho BaaS:
    1. Cài đặt tiện ích apigee-setup Edge trên Nút Cassandra của dc-2, máy 8, sử dụng quy trình internet hoặc không phải Internet. Xem Cài đặt trình thiết lập apigee của Edge tiện ích khác.
    2. Tại dấu nhắc lệnh, hãy chạy tập lệnh thiết lập để cài đặt Cassandra trên nút đầu tiên:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

      Tuỳ chọn “-p c” chỉ định việc cài đặt Cassandra.

      Tệp cấu hình phải có thể truy cập hoặc có thể đọc được bởi "api" người dùng.
    3. Lặp lại bước 3 và 4 cho các nút Cassandra còn lại, máy 9 và 10 trong dc-2.
  4. Trên các nút Cassandra của dc-1, hãy chỉnh sửa tệp cấu hình để thêm các nút Cassandra từ trung tâm dữ liệu 2 dựa trên cách bạn cài đặt Cassandra:

    # Liệt kê các nút dc-1 trước, sau đó dc-2,
    # bao gồm trung tâm dữ liệu Cassandra và hậu tố của giá
    CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1"
  5. Trên nút Cassandra đầu tiên của dc-1, hãy chạy setup.sh với tệp cấu hình dc-1 mới bao gồm các nút Cassandra từ dc-2:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. Lặp lại bước 6 và 7 cho các nút Cassandra còn lại trong dc-1.
  7. Nếu bạn đang kết nối với một cụm Cassandra cho dc-1 được chia sẻ với Edge, thêm các nút Cassandra dc-2 vào tệp cấu hình cho nút Máy chủ quản lý của dc-1 và chạy setup.sh:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  8. Cập nhật không gian khoá Cassandra bằng hệ số sao chép chính xác cho 2 trung tâm dữ liệu. Bạn chỉ phải chạy bước này một lần trên máy chủ Cassandra bất kỳ ở một trong hai trung tâm dữ liệu:

    Lưu ý: Các lệnh bên dưới đều đặt hệ số nhân bản thành "3", cho biết rằng ba nút Cassandra trong cụm. Sửa đổi giá trị này nếu cần cho quá trình cài đặt của bạn.
    1. Khởi động tiện ích Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Thực thi các lệnh CQL sau đây tại "cqlsh>" lời nhắc thiết lập bản sao cho không gian phím Cassandra:
      1. cqlsh&gt; Hàm ALTER KEYSPACE "Apigee_Baas_dc_1" WITH sao chép = { 'class': 'NetworkTopologyStrategy', "dc-1": "3", "dc-2": "3" };
      2. cqlsh&gt; Hàm ALTER KEYSPACE "Apigee_Baas" CÓ tính năng sao chép = { 'class': 'NetworkTopologyStrategy', 'dc-1': "3", "dc-2": "3" };
      3. cqlsh&gt; Hàm ALTER KEYSPACE "Apigee_Baas_Locks" WITH sao chép = { 'class': 'NetworkTopologyStrategy', "dc-1": "3", "dc-2": "3" };
      4. cqlsh&gt; Hàm ALTER KEYSPACE "system_traces" CÓ tính năng sao chép = { 'class': 'NetworkTopologyStrategy', 'dc-1': "3", "dc-2": "3" };
      5. cqlsh&gt; Hàm ALTER KEYSPACE "system_auth" CÓ tính năng sao chép = { 'class': 'NetworkTopologyStrategy', 'dc-1': "3", "dc-2": "3" };
      6. Xem các không gian phím bằng cách dùng lệnh:
        cqlsh&gt; chọn * từ system.schema_keyspaces;
      7. Thoát khỏi CQ1:
        cqlsh&gt; thoát
  9. Trên tất cả các nút Cassandra trong dc-2, hãy chạy lệnh tạo lại, chỉ định tên khu vực của dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP đã tạo lại dc-1
  10. Chạy "nodetool trạng thái" trên mỗi nút Cassandra và xác minh rằng tất cả các nút Cassandra có "100%" đối với giá trị "Sở hữu":
    &gt; /opt/apigee/apigee-cassandra/bin/trạng thái củanodetool
  11. Cài đặt BaaS trong dc-2:
    1. Chỉnh sửa tệp cấu hình để chỉ liệt kê các nút Cassandra trong dc-2:
      # Danh sách các nút dc-2 Cassandra,
      # đang bỏ qua trung tâm dữ liệu Cassandra và hậu tố của giá
      CASS_HOSTS="$IP8 $IP9 $IP10"
    2. Cài đặt ElasticSearch trên các nút 4, 5 và 6 của dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. Cài đặt Ngăn xếp BaaS trên các nút 4, 5 và 6 của dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. Cài đặt BaaS Portal trên máy 7:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
  12. Cập nhật các nút Ngăn xếp BaaS trong trung tâm dữ liệu 1:
    1. Trên nút Ngăn xếp BaaS đầu tiên trong trung tâm dữ liệu 1, hãy chỉnh sửa /opt/apigee/customer/application/usergrid.properties trong trình chỉnh sửa. Nếu tệp không tồn tại, hãy tạo tệp đó.
    2. Thêm các thuộc tính sau vào usergrid.properties:
      # Giá trị giống như BAAS_GROUPS_PACKAGESS trong tệp cấu hình dc-2,
      # không có dấu ngoặc kép.
      usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2

      # Có cùng giá trị với BAAS_CASS_DC_LIST trong tệp cấu hình dc-2.
      usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2
    3. Lặp lại các bước a và b trên các nút Ngăn xếp BaaS còn lại.
    4. Khởi động lại tất cả các nút Ngăn xếp BaaS.

      Lưu ý: Khi khởi động lại các nút Ngăn xếp BaaS, hãy khởi động lại các nút đó trên cùng một gói thứ tự của các sản phẩm đó được liệt kê trong BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS danh sách tại 2 trong số các nút Ngăn xếp. Sau khi khởi động lại hai nút đó theo thứ tự, bạn có thể khởi động lại các nút còn lại theo thứ tự bất kỳ.

      &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid khởi động lại
  13. Cập nhật các giá trị không gian khoá BaaS. Các không gian khoá này phải được thiết lập để sao chép tại thời điểm cài đặt, nhưng không nhất thiết phải chạy vào thời gian chạy. Việc xoá bản sao cũng giúp tiết kiệm bộ nhớ Cassandra.

    Bạn chỉ phải chạy bước này một lần trên mọi máy chủ Cassandra ở một trong hai trung tâm dữ liệu:
    1. Khởi động tiện ích Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Thực thi các lệnh CQL sau đây để đặt mức độ sao chép cho Cassandra không gian phím:
      1. cqlsh&gt; Hàm ALTER KEYSPACE &quot;Apigee_Baas_dc_1&quot; CÓ bản sao = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh&gt; Hàm ALTER KEYSPACE &quot;Apigee_Baas_dc_2&quot; CÓ bản sao = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Xem các không gian phím bằng cách dùng lệnh:
        cqlsh&gt; chọn * từ system.schema_keyspaces;
      4. Thoát khỏi CQ1:
        cqlsh&gt; thoát

Cài đặt trung tâm dữ liệu thứ hai này hiện đã hoàn tất.

Sau khi hoàn tất việc cài đặt và định cấu hình hai trung tâm dữ liệu này, bạn có thể xác thực việc cài đặt bằng cách sử dụng quy trình sau:

  1. Trên tất cả các nút Ngăn xếp BaaS, hãy kiểm tra trạng thái:
    &gt; curl 0:8080/trạng thái
  2. Kiểm tra lệnh gọi API của mã thông báo có đang hoạt động hay không:
    &gt; cuộn tròn – X BÀI ĐĂNG &quot;http://localhost:8080/management/token&quot; -d &#39;{&quot;grant_type&quot;:&quot;password&quot;, "username":"adminEmail","password":"pWord"}'
  3. Hãy thử đăng nhập vào Cổng thông tin BaaS cho dc-2. Xác minh rằng tất cả dữ liệu được sao chép trong dc-2, chẳng hạn như các bộ sưu tập được tạo trên dc-1.