Penginstalan Beberapa Pusat Data untuk BaaS API

Edge for Private Cloud v. 4.17.09

Anda dapat menginstal API BaaS di beberapa pusat data menggunakan konfigurasi Anda. Dokumen ini menjelaskan cara menambahkan pusat data BaaS ke data BaaS yang ada tengah.

Menambahkan pusat data saat Gugus Cassandra dibagikan ke Edge

Semua pusat data harus memiliki jumlah node Cassandra yang sama. Penginstalan API BaaS dapat menggunakan gugus Cassandra sendiri, atau dapat berbagi gugus Cassandra dengan Edge.

Jika penginstalan BaaS menggunakan cluster Cassandra dengan Edge, Anda harus memperbarui Server Pengelolaan di pusat data asli untuk mengonfigurasinya guna mengenali node Cassandra di pusat data baru.

Memperbarui pusat data yang ada

Menambahkan pusat data BaaS baru (pusat data 2) mengharuskan Anda untuk melakukan langkah-langkah untuk menginstal dan mengonfigurasi pusat data baru, tetapi juga mengharuskan Anda memperbarui pusat data BaaS yang asli (pusat data 1) . Perubahan ini diperlukan karena:

  • Anda menambahkan node Cassandra baru di pusat data baru yang harus dapat diakses oleh pusat data yang ada.
  • Anda harus mengonfigurasi informasi replikasi yang digunakan oleh node BaaS Stack dalam data pusat 1 untuk memasukkan informasi dari pusat data 2. Anda tidak dapat melakukan konfigurasi itu sampai pusat data 2 diinstal.

Untuk melakukan pembaruan ini pada pusat data 1, Anda memperbarui file konfigurasi asli yang digunakan untuk menginstal pusat data 1, lalu menjalankan kembali apigee-setup pada node data Cassandra pusat 1. Jika cluster Cassandra untuk pusat data 1 dibagikan dengan penginstalan Edge, maka Anda juga harus memperbarui Server Pengelolaan juga.

Membuat file konfigurasi

Untuk menginstal pusat data 1, gunakan konfigurasi yang ditampilkan pada Penginstalan BaaS API. File konfigurasi tidak perlu termasuk informasi tentang pusat data 2 pada saat Anda menginstal pusat data 1.Anda menambahkan informasi ke file konfigurasi setelah menginstal pusat data 2.

Berikut adalah file konfigurasi untuk pusat data 2. File konfigurasi ini mengasumsikan menginstal dc-2 di 10 node, seperti yang dijelaskan di Topologi Penginstalan. Sesuaikan file ini jika Anda diinstal di 7 {i>node<i}.

Perhatikan bahwa file konfigurasi untuk pusat data 2 (dc-2) berisi informasi tentang pusat data 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>"

Menambahkan pusat data BaaS

  1. Instal pusat data pertama seperti yang dijelaskan di BaaS API Penginstalan. Dokumen tersebut berisi file konfigurasi yang Anda gunakan untuk menginstal data pusat 1.
  2. Buat file konfigurasi untuk dc-2 seperti yang dijelaskan di atas.
  3. Instal Cassandra, baik sebagai bagian dari penginstalan Edge yang ada atau sebagai untuk BaaS:
    1. Instal utilitas apigee-setup Edge pada langkah pertama Node Cassandra dari dc-2, mesin 8, menggunakan prosedur internet atau non-internet. Lihat Menginstal penyiapan apigee Edge utilitas untuk mempelajari lebih lanjut.
    2. Di command prompt, jalankan skrip penyiapan untuk menginstal Cassandra di node pertama:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

      Opsi “-p c” menentukan untuk menginstal Cassandra.

      File konfigurasi harus dapat diakses atau dibaca oleh "apigee" .
    3. Ulangi langkah 3 dan 4 untuk node Cassandra yang tersisa, mesin 9 dan 10, dengan dc-2.
  4. Pada {i>node<i} Cassandra dari dc-1, edit file konfigurasi untuk menambahkan {i>node<i} Cassandra dari pusat data 2 berdasarkan cara Anda menginstal Cassandra:

    # Cantumkan node dc-1 terlebih dahulu, lalu dc-2,
    # termasuk pusat data Cassandra dan akhiran rak
    CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1"
  5. Pada {i>node<i} Cassandra pertama dari dc-1, jalankan {i>setup.sh<i} dengan file konfigurasi dc-1 baru yang menyertakan node Cassandra dari dc-2:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. Ulangi langkah 6 dan 7 untuk simpul Cassandra yang tersisa di dc-1.
  7. Jika Anda terhubung ke cluster Cassandra untuk dc-1 yang dibagikan ke Edge, tambahkan node Cassandra dc-2 ke file konfigurasi untuk node Server Manajemen dc-1 dan jalankan setup.sh:
    &gt; {i>/opt/apigee/apigee-setup/bin/setup.sh -p ms -f<i} configFile
  8. Perbarui keyspace Cassandra dengan faktor replikasi yang benar untuk kedua pusat data tersebut. Anda hanya perlu menjalankan langkah ini sekali di server Cassandra di salah satu pusat data:

    Catatan: Perintah di bawah ini menetapkan faktor replikasi ke "3", yang menunjukkan tiga node Cassandra di cluster. Ubah nilai ini seperlunya untuk penginstalan Anda.
    1. Mulai utilitas Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Jalankan perintah CQL berikut di "cqlsh>" prompt untuk menetapkan replikasi tingkat untuk keyspace Cassandra:
      1. cqlsh&gt; ALTER KEYSPACE "Apigee_Baas_dc_1" DENGAN replikasi = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh&gt; ALTER KEYSPACE "Apigee_Baas" DENGAN replikasi = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh&gt; ALTER KEYSPACE "Kunci_Apigee_Baas" DENGAN replikasi = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      4. cqlsh&gt; ALTER SPASI UTAMA "system_traces" DENGAN replikasi = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh&gt; ALTER KEYSPACE "system_auth" DENGAN replikasi = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. Lihat keyspace dengan menggunakan perintah:
        cqlsh&gt; pilih * dari system.schema_keyspaces;
      7. Keluar dari cqlsh:
        cqlsh&gt; keluar
  9. Pada semua node Cassandra di dc-2, jalankan perintah rebuild, dengan menentukan nama region dc-1:
    &gt; build ulang /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP dc-1
  10. Jalankan "status nodetool" pada setiap {i>node<i} Cassandra dan memverifikasi bahwa semua {i>node<i} Cassandra memiliki ‘100%’ untuk nilai ‘Milik sendiri’:
    &gt; status /opt/apigee/apigee-cassandra/bin/nodetool
  11. Instal BaaS di dc-2:
    1. Edit file konfigurasi untuk hanya mencantumkan node Cassandra di dc-2:
      # Daftar node Cassandra dc-2,
      # menghapus pusat data Cassandra dan akhiran rak
      CASS_HOSTS="$IP8 $IP9 $IP10"
    2. Instal ElasticSearch di node 4, 5, dan 6 dari dc-2:
      &gt; {i>/opt/apigee/apigee-setup/bin/setup.sh -p e -f<i} configFile
    3. Instal Stack BaaS pada node 4, 5, dan 6 dari dc-2:
      &gt; {i>/opt/apigee/apigee-setup/bin/setup.sh -p b -f<i} configFile
    4. Instal Portal BaaS di komputer 7:
      &gt; {i>/opt/apigee/apigee-setup/bin/setup.sh -p p -f<i} configFile
  12. Perbarui node Stack BaaS di pusat data 1:
    1. Pada node BaaS Stack pertama di pusat data 1, edit /opt/apigee/customer/application/usergrid.properties di editor. Jika file tidak ada, buat file tersebut.
    2. Tambahkan properti berikut ke usergrid.properties:
      # Nilai sama seperti BAAS_CLUSTER_SEEDS di file konfigurasi dc-2,
      # tanpa tanda petik ganda.
      usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2

      # Nilai yang sama seperti BAAS_CASS_DC_LIST dalam file konfigurasi dc-2.
      usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2
    3. Ulangi langkah a dan b pada node BaaS Stack yang tersisa.
    4. Mulai ulang semua node BaaS Stack.

      Catatan: Saat memulai ulang node BaaS Stack, mulai ulang node tersebut dengan cara yang sama urutannya agar tercantum di BAAS_CLUSTER_SEEDS. Daftar BAAS_CLUSTER_SEEDS di sebagian besar dua {i>node <i}Stack. Setelah memulai ulang kedua node tersebut secara berurutan, Anda bisa memulai ulang sisa node dalam urutan apa pun.

      &gt; /opt/apigee/apigee-service/bin/apigee-service baas-usergrid mulai ulang
  13. Memperbarui nilai keyspace BaaS. Ruang kunci ini harus diatur untuk replikasi pada waktu instalasi, tetapi tidak harus pada saat runtime. Menghapus replikasi juga menghemat memori Cassandra.

    Anda hanya perlu menjalankan langkah ini sekali pada server Cassandra di salah satu pusat data:
    1. Mulai utilitas Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Jalankan perintah CQL berikut guna menetapkan tingkat replikasi untuk Cassandra keyspace:
      1. cqlsh&gt; ALTER SPASI UTAMA &quot;Apigee_Baas_dc_1&quot; DENGAN replikasi = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh&gt; ALTER SPASI UTAMA &quot;Apigee_Baas_dc_2&quot; DENGAN replikasi = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Lihat keyspace dengan menggunakan perintah:
        cqlsh&gt; pilih * dari system.schema_keyspaces;
      4. Keluar dari cqlsh:
        cqlsh&gt; keluar

Penginstalan pusat data kedua ini sekarang telah selesai.

Setelah Anda menyelesaikan instalasi dan konfigurasi kedua pusat data, Anda dapat validasi penginstalan dengan menggunakan prosedur berikut:

  1. Di semua node BaaS Stack, periksa status:
    &gt; curl 0:8080/status
  2. Periksa apakah panggilan API token berfungsi:
    &gt; curl -X POSTINGAN &quot;http://localhost:8080/management/token&quot; -d &#39;{&quot;grant_type&quot;:&quot;password&quot;, "username":"adminEmail","password":"pWord"}'
  3. Coba login ke Portal BaaS untuk dc-2. Verifikasi, semua data direplikasi di dc-2, seperti koleksi yang dibuat di dc-1.