Bu bölümde, Private Cloud için Apigee Edge'de Cassandra'yı rafa duyarlı hale getirerek Cassandra'nın ölçeklendirme işlemleriyle ilgili genel bilgiler verilmektedir.
Cassandra halka rafınızı farkında hale getirmenin neden önemli olduğu hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Replication (Cassandra belgeleri)
- Cassandra Mimarisi ve Çoğaltma Faktörü Stratejisi
Raf nedir?
Cassandra rafı, halkadaki Cassandra düğümlerinin mantıksal bir gruplandırmasıdır. Cassandra, replikaların farklı mantıksal gruplar arasında dağıtılmasını sağlamak için rafları kullanır. Sonuç olarak, işlemler yalnızca bir düğüme değil, her biri ayrı bir rafta bulunan birden fazla düğüme gönderilir. Bu da daha fazla hata toleransı ve kullanılabilirlik sağlar.
Bu bölümdeki örneklerde, üretim topolojilerinde Apigee tarafından desteklenen raf sayısı olan üç Cassandra rafı kullanılmaktadır.
Apigee Edge for Private Cloud'da Cassandra'nın varsayılan kurulumu, tek bir mantıksal raf olduğunu varsayar ve bir veri merkezindeki tüm düğümleri bu rafa yerleştirir. Bu yapılandırmanın kurulumu ve yönetimi kolay olsa da düğümlerden birinde bir işlem başarısız olursa yapılandırma da başarısız olabilir.
Aşağıdaki resimde Cassandra halkasının varsayılan yapılandırması gösterilmektedir:
Daha sağlam bir yapılandırmada her düğüm ayrı bir rafa atanır ve işlemler bu rafların her birindeki replikalarda da yürütülür.
Aşağıdaki resimde 3 düğümlü bir halka gösterilmektedir. Bu resimde, işlemlerin halka boyunca çoğaltılma sırası (saat yönünde) gösterilmekte ve aynı rafta iki düğümün bulunmadığı vurgulanmaktadır:
Bu yapılandırmada işlemler bir düğüme gönderilir ancak diğer raflardaki (saat yönünde) bu düğümün replikalarına da gönderilir.
Kabin farkındalığı ekleme (3 düğümle)
Apigee Edge for Private Cloud'un tüm üretim kurulum topolojilerinde en az üç Cassandra düğümü bulunur. Bu bölümde bu düğümler "IP1", "IP2" ve "IP3" olarak adlandırılır. Varsayılan olarak bu düğümlerin her biri aynı kabinde ("ra-1") bulunur.
Bu bölümde, tüm işlemlerin halka içindeki ayrı mantıksal gruplardaki replika düğümlerine gönderilmesi için Cassandra düğümlerinin ayrı raflara nasıl atanacağı açıklanmaktadır.
Yükleme sırasında Cassandra düğümlerini farklı raflara atamak için:
- Yükleyiciyi çalıştırmadan önce Cassandra düğümüne giriş yapın ve düzenlemek için aşağıdaki sessiz yapılandırma dosyasını açın:
/opt/silent.conf
Dosya yoksa oluşturun ve "apigee" kullanıcısını sahip yapın.
CASS_HOSTSözelliğini düzenleyin. Bu özellik, aşağıdaki söz dizimini kullanan, boşlukla ayrılmış IP adreslerinin (DNS veya ana makine adı girişleri değil) listesidir:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
Varsayılan değer, her düğümün raf 1'e ve veri merkezi 1'e atandığı üç düğümlü bir Cassandra halkasıdır. Aşağıdaki örnekte bu durum gösterilmektedir:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- Aşağıdaki örnekte gösterildiği gibi, kabin atamalarını değiştirerek 2. düğümü 2. kabine ve 3. düğümü 3. kabine atayın:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
Raf atamalarını değiştirerek Cassandra'ya iki ek mantıksal gruplandırma (raf) oluşturma talimatı verirsiniz. Bu gruplandırmalar, ilk düğüm tarafından alınan tüm işlemleri alan replikalar sağlar.
CASS_HOSTSyapılandırma özelliğini kullanma hakkında daha fazla bilgi için Edge Yapılandırma Dosyası Referansı başlıklı makaleyi inceleyin. - Yapılandırma dosyasında yaptığınız değişiklikleri kaydedin ve güncellenmiş yapılandırmanızla Cassandra'yı yüklemek için aşağıdaki komutu çalıştırın:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
Örneğin:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- Düğümlerin
CASS_HOSTSmülkünde atandığı sırayla, halkadaki her Cassandra düğümü için bu prosedürü tekrarlayın. Bu durumda Cassandra'yı aşağıdaki sırayla yüklemeniz gerekir:- Düğüm 1 (IP1)
- Düğüm 2 (IP2)
- 3. düğüm (IP3)
Yükleme işleminden sonra Cassandra yapılandırmasını kontrol etmeniz gerekir.
Cassandra yapılandırmasını kontrol etme
Rafa duyarlı bir Cassandra yapılandırması yükledikten sonra, aşağıdaki örnekte gösterildiği gibi nodetool status komutunu kullanarak düğümlerin farklı raflara atandığını kontrol edebilirsiniz:
/opt/apigee/apigee-cassandra/bin/nodetool status
(Bu komutu Cassandra düğümlerinden birinde yürütürsünüz.)
Sonuçlar aşağıdakine benzer olmalıdır. Rack sütununda her bir düğüm için farklı raf kimlikleri gösterilir:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
Cassandra için JMX kimlik doğrulamasını etkinleştirdiyseniz kullanıcı adınızı ve şifrenizi nodetool aracına da iletmeniz gerekir. Daha fazla bilgi için Küme düğümlerini yönetmek için nodetool'u kullanma başlıklı makaleyi inceleyin.
Altı düğümlü bir halka yükleme
Daha fazla yedeklilik için Cassandra halkasını altı düğüme genişletebilirsiniz. Bu durumda, üç rafın her birine iki düğüm atarsınız. Bu yapılandırma için üç ek düğüm gerekir: Düğüm 4 (IP4), Düğüm 5 (IP5) ve Düğüm 6 (IP6).
Aşağıdaki resimde, işlemlerin halka boyunca hangi sırayla kopyalandığı (saat yönünde) gösterilmekte ve kopyalama sırasında bitişik iki düğümün aynı rafta bulunmadığı vurgulanmaktadır:
Bu yapılandırmada her düğümün iki replikası daha vardır: diğer iki rafın her birinde birer tane. Örneğin, 1. raftaki 1. düğümün 2. ve 3. raflarda birer replikası vardır. 1. düğüme gönderilen işlemler, saat yönünde diğer raflardaki replikalara da gönderilir.
Üç düğümlü bir Cassandra halkasını altı düğümlü bir Cassandra halkasına genişletmek için düğümleri sessiz yapılandırma dosyanızda aşağıdaki şekilde yapılandırın:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
Üç düğümlü halkada olduğu gibi, Cassandra'yı düğümlerin CASS_HOSTS özelliğinde göründüğü sırayla yüklemeniz gerekir:
- Düğüm 1 (IP1)
- Düğüm 4 (IP4)*
- 2. düğüm (IP2)
- Düğüm 5 (IP5)
- 3. düğüm (IP3)
- Node 6 (IP6)
* Dördüncü düğümde (Cassandra yükleme sırasındaki ikinci makine) kurulum yardımcı programını çalıştırmadan önce sessiz yapılandırma dosyasında değişikliklerinizi yapın.
12 düğüme genişlet
Hata toleransını ve kullanılabilirliği daha da artırmak için halkadaki Cassandra düğümlerinin sayısını 6'dan 12'ye çıkarabilirsiniz. Bu yapılandırma için altı düğüm daha (IP7 - IP12) gerekir.
Aşağıdaki resimde, işlemlerin halka boyunca hangi sırayla kopyalandığı (saat yönünde) gösterilmekte ve kopyalama sırasında bitişik iki düğümün aynı rafta bulunmadığı vurgulanmaktadır:
12 düğümlü bir halka yükleme prosedürü, üç veya altı düğümlü bir halka yüklemeye benzer:
CASS_HOSTS değerini verilen değerlere ayarlayın ve yükleyiciyi belirtilen sırayla çalıştırın.
12 düğümlü bir Cassandra halkasına genişletmek için düğümleri sessiz yapılandırma dosyanızda aşağıdaki şekilde yapılandırın:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
Üç ve altı düğümlü halkalarda olduğu gibi, yükleyiciyi düğümlerde, düğümlerin yapılandırma dosyasında göründüğü sırayla çalıştırmanız gerekir:
- Düğüm 1 (IP1)
- Node 7 (IP7)*
- Düğüm 4 (IP4)
- Node 8 (IP8)
- Düğüm 2 (IP2)
- Node 9 (IP9)
- Düğüm 5 (IP5)
- Node 10 (IP10)
- 3. düğüm (IP3)
- Düğüm 11 (IP11)
- Node 6 (IP6)
- Node 12 (IP12)
* Bu değişiklikleri, Apigee Edge for Private Cloud'u 7. düğüme (Cassandra yükleme sırasındaki ikinci makine) yüklemeden önce yapmanız gerekir.