Bu belgede, mevcut bir veriye veri merkezinin (bölge olarak da adlandırılır) nasıl ekleneceği açıklanmaktadır. yardım etmek istiyorum.
Veri merkezi eklemeden önce dikkat edilmesi gereken noktalar
Veri merkezi eklemeden önce OpenLDAP'yi nasıl yapılandıracağınızı, Veri merkezlerinde ZooKeeper, Cassandra ve Postgres sunucuları. Ayrıca, İki veri merkezindeki düğümler arasında gerekli bağlantı noktaları açık olmalıdır.
- OpenLDAP
Her veri merkezinin, çoğaltma etkin şekilde yapılandırılmış kendi OpenLDAP sunucusu vardır. Google Takvim widget'ını yeni veri merkezini yüklemeniz, OpenLDAP'yi çoğaltmayı kullanacak şekilde yapılandırmanız ve mevcut veri merkezindeki OpenLDAP sunucusunu yeniden yapılandırmaya çalışın.
- ZooKeeper
ZK_HOSTS
mülkü için her iki veri merkezindeki tüm ZooKeeper düğümlerinin IP adreslerini veya DNS adlarını belirtin , aynı sırayla gösterir ve tüm düğümleri ":observer" değiştiricisiyle işaretler.:observer
değiştiricisi olmayan düğümlere "oy verenler" adı verilir. Tek sayı olmalı "oy verenlerin" sayısı yapılandırdığınızdan emin olun.Bu topolojide, ana makine 9'daki ZooKeeper ana makinesi gözlemcidir:
Aşağıdaki örnek yapılandırma dosyasında, düğüm 9 Beş seçmenin olması için
:observer
değiştiricisi: 1, 2, 3, 7 ve 8. düğümlerZK_CLIENT_HOSTS
için özelliğini kullanarak, yalnızca ZooKeeper'ın IP adreslerini veya DNS adlarını belirtin verilerdeki tüm ZooKeeper düğümleri için aynı sırayla veri merkezindeki düğümler yardım etmek istiyorum. - Kassandra
Her bir veri merkezi için
CASS_HOSTS
için tüm Cassandra IP'sini belirttiğinizden emin olun her iki veri için de adresleri (DNS adları değil) üretebiliriz. 1. veri merkezi için önce bu veri merkezindeki Cassandra düğümlerini listeleyin. Veri merkezi için 2. Önce bu veri merkezindeki Cassandra düğümlerini listeleyin. Cassandra düğümlerini aynı tüm Cassandra düğümleri için bir sıralama kuralı görürsünüz.Tüm Cassandra düğümlerinde ':d,r' son eki olmalıdır; örneğin: 'ip:1,1 = veri merkezi 1 ve raf/stok durumu bölgesi 1 ve 'ip:2,1 = Veri merkezi 2 ve raf/kullanılabilirlik bölgesi 1.
Örneğin, "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"
Her veri merkezinin raf/kullanılabilirlik bölgesi 1'deki ilk düğüm, başlangıç noktası olarak kullanılır sunucu. Bu dağıtım modelinde Cassandra kurulumu şu şekilde görünür:
-
Postgres
Varsayılan olarak, Edge tüm Postgres düğümlerini ana modda yükler. Ancak birden fazla veri merkezlerinde, Postgres düğümlerini ana bekleme çoğaltmasını kullanacak şekilde yapılandırırsınız. Böylece, başarısız olursa bekleme düğümü sunucu trafiğine devam edebilir. Tipik olarak, bir veri merkezinde ana Postgres sunucusu, ikinci verilerde bekleme sunucusu yardım etmek istiyorum.
Mevcut veri merkezi halihazırda ana/bekleme moduna geçtikten sonra, bu prosedürün bir parçası olarak mevcut bekleme düğümünün kaydını silin ve bunu yeni veri merkezindeki bir bekleme düğümüyle değiştirin.
Aşağıdaki tabloda her ikisi için de Postgres yapılandırmasından önceki ve sonraki sürümler gösterilmektedir senaryolar:
Önce Sonra dc-1'deki tek Ana Postgres düğümü
dc-1'deki ana Postgres düğümü
dc-2'deki beklemedeki Postgres düğümü
dc-1'deki ana Postgres düğümü
dc-1'deki beklemedeki Postgres düğümü
dc-1'deki ana Postgres düğümü
dc-2'deki beklemedeki Postgres düğümü
dc-1'deki eski Bekleme Postgres düğümünün kaydını silin
- Bağlantı noktası gereksinimleri
İki veri merkezindeki düğümler arasında gerekli bağlantı noktalarının açık olduğundan emin olmalısınız. Bağlantı noktası diyagramı için Bağlantı noktası gereksinimleri bölümüne bakın.
Mevcut veri merkezini güncelleme
Veri merkezi eklemek için yeni verileri yükleme ve yapılandırma adımlarını uygulamanız gerekir merkezi veri merkezindeki düğümleri güncellemeniz gerekir. Bu Search Console'a yeni Cassandra ve ZooKeeper düğümleri eklediğiniz için ve veri merkezlerini yeniden yapılandırmanız gerekir. Çoğaltmayı kullanmak için OpenLDAP'yi kullanın.
Yapılandırma dosyalarını oluşturma
Aşağıda, iki veri merkezine ait sessiz yapılandırma dosyaları gösterilmektedir. Bu dosyalarda her merkezde, Yükleme topolojilerinde gösterildiği gibi 6 düğüm bulunur. dc-1 için yapılandırma dosyasının şunun için ek ayarlar yapın:
- OpenLDAP'yi iki OpenLDAP düğümünde çoğaltma ile yapılandırma.
- dc-1'in yapılandırma dosyasına, dc-2'deki yeni Cassandra ve ZooKeeper düğümlerini ekleyin.
# Datacenter 1 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP1 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=1 LDAP_PEER=$IP7 APIGEE_LDAPPW=secret MP_POD=gateway-1 REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
# Datacenter 2 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP7 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=2 LDAP_PEER=$IP1 APIGEE_LDAPPW=secret MP_POD=gateway-2 REGION=dc-2 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
Yeni veri merkezi ekleyin
Yeni bir veri merkezi kurmak için aşağıdaki prosedürü kullanın.
Prosedürde, veri merkezleri şu adlara sahiptir:
- dc-1: mevcut veri merkezi
- dc-2: yeni veri merkezi
Yeni bir veri merkezi eklemek için:
- dc-1'de, setup.sh dosyasını yeni dc-1 ile orijinal Cassandra düğümlerinde yeniden çalıştırın.
dc-2'deki Cassandra düğümlerini içeren bir config dosyası oluşturun:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
- dc-1'de, Yönetim Sunucusu düğümünde setup.sh dosyasını yeniden çalıştırın:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
- dc-2'de, tüm düğümlere
apigee-setup
'ı yükleyin. Daha fazla bilgi için Edge Apigee-setup yardımcı programını yükleme bölümüne bakın bilgisi. - dc-2'de, Cassandra ve ZooKeeper'ı uygun düğümlere yükleyin:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
- dc-2'de, yeniden oluşturma komutunu tüm Cassandra düğümlerinde
dc-1'in bölge adı:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1
Kullanıcı adınızı ve şifrenizi yalnızca Cassandra için JMX kimlik doğrulamasını etkinleştirdiğinizden emin olun.
- dc-2'de, Yönetim Sunucusu'nu uygun düğüme yükleyin:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
- dc-2'deki Yönetim Sunucusu düğümünde,
apigee-provision
'yi yükleyin, Bu işlemapigee-adminapi.sh
yardımcı programını yükler:/opt/apigee/apigee-service/bin/apigee-service apigee-provision install
- dc-2'de, uygun düğümlere Rotalar ve İleti İşlemcileri yükleyin:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
- dc-2'de, Qpid'i uygun düğümlere yükleyin:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
- dc-2'de, Postgres'i uygun düğüme yükleyin:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
- Postgres düğümleri için Postgres ana/bekleme modunu ayarlayın. dc-1'deki Postgres düğümü
ana, dc-2'deki Postgres düğümü bekleme sunucusudur.
- dc-1'deki ana düğümde, yapılandırma dosyasını düzenleyerek şunları ayarlayın:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- Yeni ana slaytta çoğaltmayı etkinleştirin:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
. - dc-2'deki bekleme düğümünde yapılandırma dosyasını düzenleyerek şunları ayarlayın:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- dc-2'deki bekleme düğümünde sunucuyu durdurun ve ardından
mevcut Postgres verileri:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
rm -rf /opt/apigee/data/apigee-postgresql/
Gerekirse, bu verileri silmeden önce yedekleyebilirsiniz.
- dc-2'de bekleme düğümünü yapılandırın:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- dc-1'deki ana düğümde, yapılandırma dosyasını düzenleyerek şunları ayarlayın:
- dc-1'de analiz yapılandırmasını güncelleyin ve kuruluşları yapılandırın.
- dc-1'in Yönetim Sunucusu düğümünde Postgres'in UUID'sini alın
düğüm:
apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \ --admin adminEmail --pwd adminPword --host localhost
UUID, döndürülen verilerin sonunda görünür. Bu değeri kaydedin.
- dc-2'nin Yönetim Sunucusu düğümünde Postgres'in UUID'sini alın düğümünü önceki adımda gösterildiği gibi seçin. Bu değeri kaydedin.
- dc-1'in Yönetim Sunucusu düğümünde
analiz ve tüketici grupları. Aşağıdaki komutların çoğunda bu bilgiler gerekir.
Varsayılan olarak analiz grubunun adı "axgroup-001" ve tüketicinin adı grubu "tüketici-grubu-001". Bir bölgenin sessiz yapılandırma dosyasında ilgili bölgenin adını ayarlayabilirsiniz. "
AXGROUP
" özelliğini kullanarak analiz grubunun "AXGROUP
" değerini seçebilirsiniz.Analytics'in ve tüketici gruplarının adlarından emin değilseniz aşağıdaki komutuna ekleyerek bulabilirsiniz:
apigee-adminapi.sh analytics groups list \ --admin adminEmail --pwd adminPword --host localhost
Bu komut, ad alanındaki Analytics grubu adını ve tüketici grubunu döndürür adını girin.
- dc-1'in Yönetim Sunucusu düğümünde mevcut Postgres'i kaldırın.
sunucuyu temel alarak bir bağlantı oluşturur:
- Postgres düğümünü tüketici grubundan kaldırın:
apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u UUID \ -Y --admin adminEmail --pwd adminPword --host localhost
.dc-1, tablodaki iki Postgres düğümünü çalıştıracak şekilde ana/bekleme modu, ikisini de kaldırın:
apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" \ -Y --admin adminEmail --pwd adminPword --host localhost
- Postgres düğümünü analiz grubundan kaldırın:
apigee-adminapi.sh analytics groups postgres_server remove \ -g axgroup-001 -u UUID -Y --admin adminEmail \ --pwd adminPword --host localhost
.dc-1, ana/bekleme modunda çalışan iki Postgres düğümüne sahip olacak şekilde yapılandırıldıysa, her ikisini de kaldırın:
apigee-adminapi.sh analytics groups postgres_server \ remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \ --pwd adminPword --host localhost
- Postgres düğümünü tüketici grubundan kaldırın:
- dc-1'in Yönetim Sunucusu düğümünde, yeni ana makineyi/beklemeyi ekleyin
Sunucuları analiz grubuna gönder:
- İki Postgres sunucusunu da analiz grubuna ekleyin:
apigee-adminapi.sh analytics groups postgres_server \ add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
.Bu UUID_1, ana Postgres düğümüne karşılık gelir. dc-1 ve UUID_2, beklemedeki Postgres'e karşılık gelir dc-2'deki düğüm.
- PG sunucularını tüketici grubuna ana/beklemede olarak ekleyin:
apigee-adminapi.sh analytics groups consumer_groups datastores \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
.
- İki Postgres sunucusunu da analiz grubuna ekleyin:
- dc-2'deki Qpid sunucularını analiz grubuna ekleyin:
- dc-1'in Yönetim Sunucusu düğümünde Qpid'in UUID'lerini alın
dc-2'deki düğümler:
apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \ --admin adminEmail --pwd adminPword --host localhost
UUID'ler, döndürülen verilerin sonunda görünür. Bu değerleri kaydedin.
- dc-1'in Yönetim Sunucusu düğümünde Qpid düğümlerini
Analytics grubu (iki komutu da çalıştırın):
apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_1" --admin adminEmail \ --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
- dc-1'in Yönetim Sunucusu düğümünde Qpid düğümlerini
tüketici grubu (her iki komutu da çalıştırın):
apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1" \ --admin adminEmail --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_2" \ --admin adminEmail --pwd adminPword --host localhost
- dc-1'in Yönetim Sunucusu düğümünde Qpid'in UUID'lerini alın
dc-2'deki düğümler:
- Eski Postgres bekleme sunucusunun kaydını sildikten sonra dc-1'den silin:
- Mevcut dc-1 Postgres bekleme sunucusunun kaydını silin:
apigee-adminapi.sh servers deregister -u UUID -r dc-1 \ -p analytics -t postgres-server -Y --admin adminEmail \ --pwd adminPword --host localhost
UUID, dc-1'deki eski Postgres düğümüdür.
- Mevcut dc-1 Postgres bekleme sunucusunu silin:
apigee-adminapi.sh servers delete -u UUID \ --admin adminEmail --pwd adminPword --host localhost
- Mevcut dc-1 Postgres bekleme sunucusunun kaydını silin:
- dc-1'in Yönetim Sunucusu düğümünde Postgres'in UUID'sini alın
düğüm:
- Cassandra anahtar alanlarını iki veri merkezi için doğru çoğaltma faktörüyle güncelleyin. Siz
Bu adımı, veri merkezindeki herhangi bir Cassandra sunucusunda yalnızca bir kez çalıştırmanız yeterlidir:
- Cassandra
cqlsh
yardımcı programını başlatın:/opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
- "cqlsh>" bölümünde aşağıdaki CQL komutlarını yürütün çoğaltmayı ayarlama istemi
seviyeler:
ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Şu komutu kullanarak tuş alanlarını görüntüleyin:
select * from system.schema_keyspaces;
. cqlsh
Çıkışı:exit
- Cassandra
- Dc-1'deki tüm Cassandra düğümlerinde aşağıdaki
nodetool
komutunu çalıştırarak hafıza:/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
Kullanıcı adınızı ve şifrenizi yalnızca Cassandra için JMX kimlik doğrulamasını etkinleştirdiğinizden emin olun.
- Veri merkezlerinde desteklemek istediğiniz her kuruluş ve her ortam için:
- dc-1'in Yönetim Sunucusu düğümünde, yeni MP_POD'u
Kuruluş:
apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \ --admin adminEmail --pwd adminPword --host localhost
Burada gateway-2, ağ geçidi kapsülünün dc-2 yapılandırma dosyasındaki MP_POD mülkü.
- Yeni İleti İşleyicileri kuruluşa ve ortama ekleyin:
- dc-2'nin Yönetim Sunucusu düğümünde,
dc-2'deki İleti İşlemci düğümleri:
apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \ -t message-processor --admin adminEmail --pwd adminPword --host localhost
UUID'ler, döndürülen verilerin sonunda görünür. Bu değerleri kaydedin.
- dc-1'in Yönetim Sunucusu düğümünde, her bir İleti İşleyen için
dc-2'de, İleti İşleyici'yi kuruluşun bir ortamına ekleyin:
apigee-adminapi.sh orgs envs servers add -o orgName -e envName \ -u UUID --admin adminEmail --pwd adminPword --host localhost
- dc-2'nin Yönetim Sunucusu düğümünde,
dc-2'deki İleti İşlemci düğümleri:
- dc-1'in Yönetim Sunucusu düğümünde kuruluşu kontrol edin:
apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \ --admin adminEmail --pwd adminPword --host localhost
Burada apiProxyName, kuruluşta dağıtılan bir API proxy'sinin adıdır.
- dc-1'in Yönetim Sunucusu düğümünde, yeni MP_POD'u
Kuruluş: