API BaaS için Çoklu Veri Merkezi Yüklemesi

Private Cloud için Edge v4.18.01

API BaaS'i etkin/etkin yapılandırma kullanarak birden fazla veri merkezine yükleyebilirsiniz. Bu belgede, mevcut bir BaaS veri merkezine nasıl BaaS veri merkezi ekleneceği açıklanmaktadır.

Bir veri merkezi, Cassandra kümesi, Edge ile paylaşılıyor

Tüm veri merkezlerinin sayısı aynı Cassandra düğümüne sahip olmalıdır. API BaaS yüklemesi, kendi Cassandra kümesini kullanabilir ya da bir Cassandra kümesini Edge ile paylaşabilir.

BaaS kurulumu Edge ile bir Cassandra kümesi paylaşıyorsa yeni veri merkezindeki Cassandra düğümlerini tanıyacak şekilde yapılandırmak için orijinal veri merkezindeki Yönetim Sunucusunu güncellemeniz gerekir.

Mevcut veri merkezini güncelleme

Yeni bir BaaS veri merkezi (veri merkezi 2) eklemek için yeni veri merkezini kurma ve yapılandırmaya yönelik adımları uygulamanız gerekir. Ayrıca, orijinal BaaS veri merkezini (veri merkezi 1) de güncellemeniz gerekir. Bu değişiklikler şu nedenlerle gereklidir:

  • Yeni veri merkezine, mevcut veri merkezinin erişebilmesi gereken yeni Cassandra düğümleri ekliyor olabilirsiniz.
  • Verilerde BaaS Yığını düğümlerinin kullandığı çoğaltma bilgilerini yapılandırmanız gerekir merkez 1'i kullanarak veri merkezindeki bilgileri dahil ediyor 2. 2. veri merkezi kurulana kadar bu yapılandırmayı gerçekleştiremezsiniz.

Bu güncellemeleri Veri Merkezi 1'de gerçekleştirmek için, veri merkezi 1'de veri merkezi 1'i kurma ve ardından Cassandra veri düğümlerinde apigee-setup komutunu yeniden çalıştırma merkez 1. Veri merkezi 1'in Cassandra kümesi bir Edge kurulumuyla paylaşılıyorsa Yönetim Sunucusu'nu da güncellemeniz gerekir.

Yapılandırma dosyalarını oluşturma

1. veri merkezini kurmak için API BaaS Kurulumu bölümünde gösterilen yapılandırmayı kullanın. Yapılandırma dosyası Veri merkezini kurduğunuzda 2. veri merkezi hakkında herhangi bir bilgi içermesine gerek yoktur 1.Veri merkezini yükledikten sonra yapılandırma dosyasına bilgi eklersiniz 2.

Aşağıda, veri merkezi 2'nin yapılandırma dosyaları gösterilmektedir. Bu yapılandırma dosyasında, Yükleme Topolojileri bölümünde açıklandığı gibi dc-2'yi 10 düğüme yüklediğiniz varsayılır. 7 düğüme yüklüyorsanız bu dosyayı buna göre değiştirin.

Veri merkezi 2'nin (dc-2) yapılandırma dosyasının, veri merkezi 1 hakkında bilgi içerdiğine dikkat edin (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>"

BaaS veri merkezi ekleme

  1. İlk veri merkezini API BaaS Kurulumu bölümünde açıklandığı şekilde yükleyin. Bu dokümanda, 1. veri merkezini kurmak için kullandığınız yapılandırma dosyası yer alır.
  2. Yukarıda açıklandığı gibi dc-2 için yapılandırma dosyasını oluşturun.
  3. Cassandra'yı mevcut bir Edge kurulumunun parçası olarak veya bağımsız olarak yükleyin kümesi:
    1. PC'de Edge apigee-setup yardımcı programını ilk dc-2'nin Cassandra düğümü, 8. makine, internet bağlantısı veya internet dışı bir prosedür kullanıyor. Daha fazla bilgi için Edge apigee-setup yardımcı programını yükleme başlıklı makaleyi inceleyin.
    2. Cassandra'yı ilk düğüme yüklemek için komut isteminde kurulum komut dosyasını çalıştırın:
      &gt; /opt/Apigee/Apigee-setup/bin/setup.sh -p c -f configFile

      . “-p c” seçeneği Cassandra'nın yükleneceğini belirtir.
      .
      . Yapılandırma dosyası "Apigee" tarafından erişilebilir veya okunabilir olmalıdır belirtir.
    3. dc-2'deki kalan Cassandra düğümleri (9 ve 10 numaralı makineler) için 3. ve 4. adımları tekrarlayın.
  4. dc-1'in Cassandra düğümlerinde, yapılandırma dosyasını düzenleyerek Cassandra'yı nasıl yüklediğinize bağlı olarak 2. veri merkezi:

    . # Önce dc-1 düğümlerini, sonra da dc-2'yi listeleyin.
    . Cassandra veri merkezi ve raf son eki dahil #
    CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1"
  5. dc-1'in ilk Cassandra düğümünde, dc-2'deki Cassandra düğümlerini içeren yeni dc-1 yapılandırma dosyasıyla setup.sh'yi çalıştırın:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. dc-1'deki kalan Cassandra düğümleri için 6 ve 7. adımları tekrarlayın.
  7. Edge ile paylaşılan dc-1 için bir Cassandra kümesine bağlanıyorsanız dc-1'in Yönetim Sunucusu düğümünün yapılandırma dosyasına dc-2 Cassandra düğümlerini ekleyin ve setup.sh:
    &gt; /opt/Apigee/Apigee-setup/bin/setup.sh -p ms -f configFile
  8. Cassandra anahtar alanlarını iki veri merkezi için doğru çoğaltma faktörüyle güncelleyin. Bu adımı, her iki veri merkezindeki herhangi bir Cassandra sunucusunda yalnızca bir kez çalıştırmanız gerekir:

    Not: Aşağıdaki komutların tümü, çoğaltma faktörünü "3" olarak ayarlayarak kümede üç Cassandra düğümü olduğunu belirtir. Bu değeri yüklemeniz için gereken şekilde değiştirin.
    1. Cassandra cqlsh yardımcı programını başlatın:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. "cqlsh>" bölümünde aşağıdaki CQL komutlarını yürütün çoğaltmayı ayarlama istemi seviyeler:
      1. cqlsh&gt; ALTER KEYSPACE "Apigee_Baas_dc_1" Çoğaltma İLE = { 'class': 'NetworkTopologyStrateji', "dc-1": "3", "dc-2": "3" };
      2. cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh&gt; ALTER KEYSPACE "Apigee_Baas_Kilitleri" Çoğaltma İLE = { 'class': 'NetworkTopologyStrateji', "dc-1": "3", "dc-2": "3" };
      4. cqlsh&gt; TUŞ ALANI DEĞİŞTİR "sistem_izleri" Çoğaltma İLE = { 'class': 'NetworkTopologyStrateji', 'dc-1': "3", "dc-2": "3" };
      5. cqlsh> ALTER KEYSPACE "system_auth" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. Şu komutu kullanarak tuş alanlarını görüntüleyin:
        cqlsh&gt; şunlar arasından * simgesini seç: system.schema_keyspaces;
      7. cqlsh'den çıkma:
        cqlsh> exit
  9. dc-2'deki tüm Cassandra düğümlerinde, dc-1'in bölge adını belirterek yeniden oluşturma komutunu çalıştırın:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1
  10. "nodetool status" komutunu çalıştırın her bir Cassandra düğümünde oturum açın ve tüm Cassandra düğümlerinin "Sahip" değeri için "%100":
    &gt; /opt/Apigee/Apigee-cassandra/bin/nodetool status
  11. BaaS'i dc-2'ye yükleyin:
    1. Yapılandırma dosyasını yalnızca dc-2'deki Cassandra düğümlerini listeleyecek şekilde düzenleyin:
      # dc-2 Cassandra düğümlerini listeleyin,
      . # Cassandra veri merkezi ve raf son eki atlanıyor
      CASS_HOSTS="$IP8 $IP9 $IP10"
    2. ElasticSearch'i dc-2'nin 4, 5 ve 6. düğümlerine yükleyin:
      > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. BaaS Stack'i dc-2'nin 4, 5 ve 6. düğümlerine yükleyin:
      > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. BaaS Portal'ı 7. makineye yükleyin:
      > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
  12. 1. veri merkezindeki BaaS yığın düğümlerini güncelleyin:
    1. 1. veri merkezindeki ilk BaaS Stack düğümünde, /opt/apigee/customer/application/usergrid.properties dosyasını bir düzenleyicide düzenleyin. Dosya mevcut değilse dosyayı oluşturun.
    2. Şu özellikleri usergrid.properties dosyasına ekleyin:
      # BAAS_cluster_SEEDS ile aynı değere sahiptir dc-2 yapılandırma dosyasında,
      Çift tırnak işareti içermeyen #.
      . usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2

      . # dc-2 yapılandırma dosyasındaki BAAS_CASS_DC_LIST ile aynı değere sahiptir.
      usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2
    3. Kalan BaaS Stack düğümlerinde a ve b adımlarını tekrarlayın.
    4. Tüm BaaS Yığını düğümlerini yeniden başlatın.

      Not: BaaS Stack düğümlerini yeniden başlatırken BAAS_CLUSTER_SEEDS parametresinde listelenen sırayla yeniden başlatın. Şu konumdaki BAAS_CLUSTER_SEEDS listeleri: Stack düğümlerinin çoğu bulunur. Bu iki düğümü sırayla yeniden başlattıktan sonra, kalan düğümleri sıralayabilirsiniz.
      .
      . &gt; /opt/Apigee/Apigee-service/bin/potansiyel-service baas-usergrid restart
  13. BaaS anahtar alanı değerlerini güncelleyin. Bu tuş alanının yükleme sırasında çoğaltma için ayarlanması gerekir ancak çalışma zamanında olması gerekmez. Çoğaltmanın kaldırılması Cassandra'nın belleğinden de tasarruf sağlar.

    ?Bu adımı, her iki veri merkezindeki herhangi bir Cassandra sunucusunda yalnızca bir kez çalıştırmanız gerekir:
    1. Cassandra cqlsh yardımcı programını başlatın:
      &gt; /opt/Apigee/Apigee-cassandra/bin/cqlsh cassandraIP
    2. Cassandra'nın replika düzeylerini ayarlamak için aşağıdaki CQL komutlarını yürütün tuş boşlukları:
      1. cqlsh&gt; TUŞ ALANI DEĞİŞTİR &quot;Apigee_Baas_dc_1&quot; Çoğaltma ile = { 'class': 'NetworkTopologyStrateji', 'dc-1': '3' };
      2. cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Aşağıdaki komutu kullanarak anahtar alanlarını görüntüleyin:
        cqlsh> select * from system.schema_keyspaces;
      4. cqlsh'den çıkın:
        cqlsh&gt; çıkış

İkinci veri merkezinin kurulumu tamamlanmıştır.

İki veri merkezinin kurulumunu ve yapılandırmasını tamamladıktan sonra aşağıdaki prosedürü uygulayarak kurulumu doğrulayabilirsiniz:

  1. Tüm BaaS Yığını düğümlerinde durumu kontrol edin:
    &gt; curl 0:8080/status
  2. Jetonu kontrol etme API çağrısı çalışıyor:
    &gt; curl -X YAYIN &quot;http://localhost:8080/management/token&quot; -d &#39;{&quot;grant_type&quot;:&quot;password&quot;, "username":"adminEmail","password":"pWord"}'
  3. dc-2 için BaaS Portal'ına giriş yapmayı deneyin. dc-1'de oluşturulan koleksiyonlar gibi tüm verilerin dc-2'de çoğaltıldığını doğrulayın.