Bir kümeye Cassandra düğümleri eklerken aşağıdaki iki temel noktayı dikkate almanız gerekir:
- Cassandra halkasındaki düğümlerin mevcut konumları, akışı en aza indirmek ve dengeli bir halka sağlamak için değişmemelidir.
- Tüm veri merkezlerindeki düğüm sayısı tutarlı kalmalıdır.
İlk hedefi sağlamak için her yeni düğüm eklediğinizde Cassandra kümesindeki düğüm sayısını ikiye katlamak çok önemlidir.
Örneğin, iki veri merkezine dağıtılmış standart bir 12 düğümlü küme kurulumu topolojisiyle başlarsanız her bir veri merkezinde üç tane olmak üzere toplam altı Cassandra düğümünüz olur. Bu kümeyi genişletmek için toplam düğüm sayısını 12'ye (her veri merkezinde altı düğüm) artırarak her bir veri merkezine üç düğüm eklemeniz gerekir. Daha fazla genişletme gerekirse her bir veri merkezine altı yeni düğüm eklemeniz gerekir. Böylece toplam düğüm sayısı 24 olur (her veri merkezinde 12 düğüm).
Bu belgede, Private Cloud kurulumu için mevcut bir Edge'e üç yeni Cassandra düğümü ekleme talimatları yer almaktadır. Başka düğümler eklemek için de aynı adımlar izlenebilir. Kümenizi genişletirken düğüm sayısını her zaman iki katına çıkardığınızdan emin olun.
Cassandra düğümüne ilişkin sistem gereksinimlerinin listesi için Yükleme Gereksinimleri bölümüne bakın.
Mevcut Edge yapılandırması
Bir üretim sistemi için desteklenen tüm Edge topolojileri üç Cassandra'nın kullanılmasını belirtir
düğüm. Üç düğüm, yapılandırma dosyasında CASS_HOSTS
özelliğine belirtilir
aşağıdaki gibidir:
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 USE_LDAP_REMOTE_HOST=n LDAP_TYPE=1 APIGEE_LDAPPW=secret MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3" 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" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd
REGION
özelliğinin, bölge adını "dc-1" olarak belirttiğini unutmayın. Bunu yapmanız gerekiyor
hakkında daha fazla bilgi edinin.
Eklenecek yapılandırma dosyasını değiştirme üç yeni Cassandra düğümü
Bu örnekte, üç yeni Cassandra düğümü aşağıdaki IP adreslerindedir:
- 10.10.0.14
- 10.10.0.15
- 10.10.0.16
Yeni düğüm eklemek için önce Edge yapılandırma dosyasını güncellemeniz gerekir:
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 # Add the new node IP addresses. IP14=10.10.0.14 IP15=10.10.0.15 IP16=10.10.0.16 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com ... # Update CASS_HOSTS to add each new node after an existing nodes. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1"
Bu, mevcut düğümlerin başlangıç jeton ayarlarını ve başlangıç jetonunu korumalarını sağlar. değeri, mevcut düğümlerin jeton değerleri arasında yer alır.
Edge'i yapılandır
Yapılandırma dosyasını düzenledikten sonra şunları yapmanız gerekir:
- Mevcut Cassandra düğümlerini yeniden yapılandırma
- Yeni düğümlere Cassandra'yı yükleme
- Yönetim Sunucusunu yeniden yapılandırma
Mevcut Cassandra'yı yeniden yapılandırma düğümler
Mevcut Cassandra düğümlerinde:
- Setup.sh dosyasını "-p c" ile yeniden çalıştırın profile ve yeni yapılandırma dosyasını yükleyin:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
Yeni düğümlere Cassandra'yı yükleme
Cassandra'yı yeni düğümlere yüklemek için aşağıdaki prosedürü kullanın.
Her yeni Cassandra düğümünde:
- Cassandra'yı üç düğüme yükleyin:
apigee-setup
uygulamasını şurada yükle: açıklandığı gibi ilk düğümü, Uç Apigee-Kurulum yardımcı programı.- Güncellenmiş yapılandırma dosyasını kullanarak ilk düğüme Cassandra'yı yükleyin:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- Kalan yeni Cassandra düğümleri için bu iki adımı tekrarlayın.
- Veri merkezi olacak bölge adını belirterek üç yeni Cassandra düğümünü yeniden derle
Düğümü eklediğiniz düğüm (
dc-1
,dc-2
vb.). Bu örnektedc-1
değeri kullanılmıştır:- İlk düğümde şu komutu çalıştırın:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1
Burada nodeIP, Cassandra düğümünün IP adresidir.
Kullanıcı adınızı ve şifrenizi yalnızca Cassandra için JMX kimlik doğrulamasını etkinleştirdiğinizden emin olun.
- Kalan yeni Cassandra düğümlerinde bu adımı tekrarlayın.
- İlk düğümde şu komutu çalıştırın:
Yönetim Sunucusunu yeniden yapılandırma
Yönetim Sunucusu düğümünde
- Yeni eklenen Cassandra düğümleriyle ilgili olarak Yönetim Sunucusu'nu güncellemek için "setup.sh" dosyasını yeniden çalıştırın:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile
Tüm Yönlendiricileri ve İletiyi Yeniden Başlat İşlemciler
- Tüm Yönlendiricilerde:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Tüm Mesaj İşleyicilerde:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Mevcut disklerde boş disk alanı Cassandra düğümleri
Yeni bir düğüm ekledikten sonra, şurada nodetool cleanup
komutunu kullanabilirsiniz:
mevcut düğümleri yeniden kullanmanız gerekir. Bu komut,
Cassandra düğümüne sahiptir.
Yeni bir düğüm ekledikten sonra önceden mevcut Cassandra düğümlerinde disk alanı açmak için şu komutu kullanın:
/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.
Yeniden oluşturmayı doğrula
Yeniden oluşturma işleminin başarılı olduğunu doğrulamak için aşağıdaki komutları kullanın:
nodetool [-u username -pw password] -h nodeIP netstats
Bu komut, düğüm çalışırken ve dizinler çalışırken MODE: Normal
değerini belirtmelidir
geliştirildi.
nodetool [-u username -pw password] -h nodeIP statusthrift
Cassandra'nın yeni istemciyi kabul etmesine olanak tanıyan ikinci el sunucusunun çalıştığını belirtmelidir. kabul edersiniz.
nodetool [-u username -pw password] -h nodeIP statusbinary
Yerel aktarımın (veya ikili protokolün) çalıştığını belirtmelidir.
nodetool [-u username -pw password] -h nodeIP describecluster
Yeni düğümlerin eski düğümlerle aynı şema sürümünü kullandığını göstermelidir.
nodetool
kullanımıyla ilgili daha fazla bilgi için bkz.
nodetool kullanım dokümanlarına göz atın.