Cassandra rafı desteği ekleyin

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:

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:

3 düğümlü 1 raf
(Şekil 1) Varsayılan yapılandırma: Tek bir raftaki tüm düğümler

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:

Her birinde 1 düğüm bulunan 3 raf
(Şekil 2) Rafa duyarlı yapılandırma: Her rafta bir tane olmak üzere üç düğüm

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:

  1. 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.

  2. 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"
  3. 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_HOSTS yapılandırma özelliğini kullanma hakkında daha fazla bilgi için Edge Yapılandırma Dosyası Referansı başlıklı makaleyi inceleyin.

  4. 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
  5. Düğümlerin CASS_HOSTS mü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:
    1. Düğüm 1 (IP1)
    2. Düğüm 2 (IP2)
    3. 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:

Her birinde 2 düğüm bulunan 3 raf
(3. şekil) 6 düğümlü Cassandra halkası: Üç rafın her birinde iki düğüm

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:

  1. Düğüm 1 (IP1)
  2. Düğüm 4 (IP4)*
  3. 2. düğüm (IP2)
  4. Düğüm 5 (IP5)
  5. 3. düğüm (IP3)
  6. 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:

Her birinde 4 düğüm bulunan 3 raf
(Şekil 4) 12 düğümlü Cassandra halkası: Üç rafın her birinde dört düğüm

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:

  1. Düğüm 1 (IP1)
  2. Node 7 (IP7)*
  3. Düğüm 4 (IP4)
  4. Node 8 (IP8)
  5. Düğüm 2 (IP2)
  6. Node 9 (IP9)
  7. Düğüm 5 (IP5)
  8. Node 10 (IP10)
  9. 3. düğüm (IP3)
  10. Düğüm 11 (IP11)
  11. Node 6 (IP6)
  12. 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.