Edge for Private Cloud sürüm 4.17.05
Etkin/etkin yapılandırma kullanarak API BaaS'yi birden çok veri merkezine yükleyebilirsiniz. Bu dokümanda, mevcut bir BaaS veri merkezine nasıl BaaS veri merkezi ekleneceği açıklanmaktadır.
Cassandra kümesi Edge ile paylaşıldığında veri merkezi ekleme
Tüm veri merkezlerinde aynı sayıda Cassandra düğümü bulunmalıdır. API BaaS kurulumu kendi Cassandra kümesini kullanabilir veya Edge ile bir Cassandra kümesini paylaşabilir.
BaaS kurulumu, Edge ile bir Cassandra kümesini paylaşıyorsa yeni veri merkezindeki Cassandra düğümlerini tanıyacak şekilde yapılandırmak için orijinal veri merkezindeki Yönetim Sunucusu'nu güncellemeniz gerekir.
Mevcut veri merkezini güncelleme
Yeni bir BaaS veri merkezi (veri merkezi 2) eklemek için yeni veri merkezini yükleme ve yapılandırma adımlarını uygulamanız gerekir. Ancak 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şebileceği yeni Cassandra düğümleri ekliyorsunuz.
- Veri merkezi 1'deki BaaS Stack düğümleri tarafından kullanılan replikasyon bilgilerini, veri merkezi 2'deki bilgileri içerecek şekilde yapılandırmanız gerekir. Veri merkezi 2 kurulana kadar bu yapılandırmayı gerçekleştiremezsiniz.
Bu güncellemeleri veri merkezi 1'de gerçekleştirmek için veri merkezi 1'i yüklemek üzere kullanılan orijinal yapılandırma dosyasını günceller ve ardından veri merkezi 1'in Cassandra düğümlerinde apigee-setup'ı yeniden çalıştırırsınız. Veri merkezi 1 iç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
Veri merkezi 1'i yüklemek için API BaaS Kurulumu bölümünde gösterilen yapılandırmayı kullanın. Yapılandırma dosyasının, veri merkezi 1'i yüklediğiniz sırada veri merkezi 2 hakkında bilgi içermesi gerekmez.Veri merkezi 2'yi yükledikten sonra yapılandırma dosyasına bilgi eklersiniz.
Aşağıda, 2. veri merkezinin yapılandırma dosyaları gösterilmektedir. Bu yapılandırma dosyası, dc-2'yi Yükleme Topolojileri bölümünde açıklandığı gibi 10 düğüme yüklediğinizi varsayar. 7 düğüme yükleme yapıyorsanız bu dosyayı uygun şekilde değiştirin.
Veri merkezi 2'nin (dc-2) yapılandırma dosyasının, veri merkezi 1 (dc-1) hakkında bilgi içerdiğine dikkat edin:
# 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
BaaS veri merkezi ekleme
- İlk veri merkezini API BaaS Kurulumu bölümünde açıklandığı şekilde kurun. Bu dokümanda, 1. veri merkezini yüklemek için kullandığınız yapılandırma dosyası yer alır.
- dc-2 için yapılandırma dosyasını yukarıda açıklandığı şekilde oluşturun.
- Cassandra'yı mevcut bir Edge kurulumunun parçası olarak veya BaaS için bağımsız bir küme olarak yükleyin:
- İnternet veya internet dışı prosedürü kullanarak dc-2'nin ilk Cassandra düğümüne (makine 8) Edge apigee-setup yardımcı programını yükleyin. Daha fazla bilgi için Edge apigee-setup yardımcı programını yükleme başlıklı makaleyi inceleyin.
- Komut isteminde, Cassandra'yı ilk düğüme yüklemek için kurulum komut dosyasını çalıştırın:
> /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" kullanıcısı tarafından erişilebilir veya okunabilir olmalıdır. - dc-2'deki kalan Cassandra düğümleri (9 ve 10 numaralı makineler) için 3. ve 4. adımları tekrarlayın.
- 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 merkezindeki Cassandra düğümlerini ekleyin:
# Önce dc-1 düğümlerini, ardından dc-2 düğümlerini 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" - 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 dosyasını çalıştırın:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - dc-1'deki kalan Cassandra düğümleri için 6. ve 7. adımları tekrarlayın.
- Edge ile paylaşılan dc-1 için bir Cassandra kümesine bağlanıyorsanız
dc-2 Cassandra düğümlerini dc-1'in Yönetim Sunucusu düğümü için yapılandırma dosyasına ekleyin ve
setup.sh komutunu çalıştırın:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - Cassandra anahtar alanlarını iki veri merkezi için doğru replikasyon faktörüyle güncelleyin. Bu adımı, veri merkezlerinden birindeki herhangi bir Cassandra sunucusunda yalnızca bir kez çalıştırmanız gerekir:
Not: Aşağıdaki komutların tümü, replikasyon faktörünü "3" olarak ayarlar. Bu, kümede üç Cassandra düğümü olduğunu gösterir. Bu değeri, yüklemeniz için gerektiği şekilde değiştirin.- Cassandra cqlsh yardımcı programını başlatın:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Cassandra anahtar alanları için replikasyon düzeylerini ayarlamak üzere "cqlsh>" isteminde aşağıdaki CQL komutlarını çalıştırın:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_Locks" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_auth" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Şu komutu kullanarak anahtar alanlarını görüntüleyin:
cqlsh> select * from system.schema_keyspaces; - cqlsh'den çıkın:
cqlsh> exit
- Cassandra cqlsh yardımcı programını başlatın:
- 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 - Her Cassandra düğümünde "nodetool status" komutunu çalıştırın ve tüm Cassandra düğümlerinin "Owns" değeri için "%100" değerine sahip olduğunu doğrulayın:
> /opt/apigee/apigee-cassandra/bin/nodetool status - BaaS'yi dc-2'ye yükleyin:
- 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 sonekini atlayarak
CASS_HOSTS="$IP8 $IP9 $IP10" - dc-2'nin 4, 5 ve 6 numaralı düğümlerine ElasticSearch'ü yükleyin:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - BaaS yığınını dc-2'nin 4, 5 ve 6 numaralı düğümlerine yükleyin:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - BaaS portalını 7. makineye yükleyin:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- Yapılandırma dosyasını yalnızca dc-2'deki Cassandra düğümlerini listeleyecek şekilde düzenleyin:
- 1. veri merkezindeki BaaS yığını düğümlerini güncelleyin:
- Veri merkezi 1'deki ilk BaaS Stack düğümünde, bir düzenleyicide /opt/apigee/customer/application/usergrid.properties dosyasını düzenleyin. Dosya yoksa oluşturun.
- usergrid.properties dosyasına aşağıdaki özellikleri ekleyin:
# dc-2 yapılandırma dosyasındaki BAAS_CLUSTER_SEEDS ile aynı değer,
# çift tırnak olmadan.
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ğer.
usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2 - Kalan BaaS Stack düğümlerinde a ve b adımlarını tekrarlayın.
- Tüm BaaS Stack düğümlerini yeniden başlatın.
Not: BaaS Stack düğümlerini yeniden başlatırken BAAS_CLUSTER_SEEDS içinde listelendikleri sırayla yeniden başlatın. BAAS_CLUSTER_SEEDS, en fazla iki Stack düğümünü listeler. Bu iki düğümü sırayla yeniden başlattıktan sonra kalan düğümleri istediğiniz sırayla yeniden başlatabilirsiniz.
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- BaaS anahtar alanı değerlerini güncelleyin. Bu anahtar alanlarının, yükleme sırasında replikasyon için ayarlanması gerekir ancak çalışma zamanında ayarlanması gerekmez. Replikasyonun kaldırılması, Cassandra belleğinden de tasarruf sağlar.
Bu adımı, veri merkezlerinden birindeki herhangi bir Cassandra sunucusunda yalnızca bir kez çalıştırmanız gerekir:- Cassandra cqlsh yardımcı programını başlatın:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Cassandra anahtar alanları için replikasyon düzeylerini ayarlamak üzere aşağıdaki CQL komutlarını yürütün:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- Şu komutu kullanarak anahtar alanlarını görüntüleyin:
cqlsh> select * from system.schema_keyspaces; - cqlsh'den çıkın:
cqlsh> exit
- Cassandra cqlsh yardımcı programını başlatın:
İkinci veri merkezinin kurulumu tamamlandı.
İki veri merkezinin kurulumunu ve yapılandırmasını tamamladıktan sonra aşağıdaki prosedürü kullanarak kurulumu doğrulayabilirsiniz:
- Tüm BaaS Stack düğümlerinde durumu kontrol edin:
> curl 0:8080/status - Jeton API çağrısının çalışıp çalışmadığını kontrol edin:
> curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - dc-2 için BaaS portalına giriş yapmayı deneyin. Tüm verilerin dc-2'de kopyalandığını (ör. dc-1'de oluşturulan koleksiyonlar) doğrulayın.