Cassandra rafı desteği ekleyin

Bu bölümde, Cassandra'yı Apigee Edge'de Private Cloud rafına uyarlayarak Cassandra'nın ölçeklendirilmesiyle ilgili genel rehberlik sağlanmaktadır.

Cassandra yüzüğün rafını duyarlı hale getirmenin neden önemli olduğu hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:

Raf nedir?

Cassandra rafı, halka içindeki Cassandra düğümlerinin mantıksal gruplaması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, her biri ayrı rafta bulunan birden fazla düğüme değil, aynı zamanda daha fazla hata toleransı ve kullanılabilirlik sağlar.

Bu bölümdeki örneklerde, üretim topolojilerinde Apigee tarafından desteklenen rafların sayısını belirten üç Cassandra rafı kullanılmaktadır.

Private Cloud için Apigee Edge'de Cassandra'nın varsayılan kurulumunda tek bir mantıksal raf olduğunu varsayar ve tüm düğümleri içindeki bir veri merkezine yerleştirir. Bu yapılandırmanın yüklenmesi ve yönetilmesi basit olsa da, düğümlerden birinde bir işlem başarısız olursa yapılandırmada hata oluşabilir.

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 güçlü bir yapılandırmada, her düğüm ayrı bir rafa atanır ve işlemler, bu raflardaki kopyalar üzerinde de yürütülür.

Aşağıdaki resimde 3 düğümlü bir halka gösterilmektedir. Bu resimde, işlemlerin halka boyunca çoğaltıldığı sıra (saat yönünde) ve iki düğümün aynı rafta olmadığı gerçeği vurgulanmaktadır:

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

Bu yapılandırmada işlemler bir düğüme gönderilir ancak aynı zamanda o düğümün diğer raflardaki kopyalarına da (saat yönünde) gönderilir.

Raf farkındalığı ekleyin (3 düğümle)

Private Cloud için Apigee Edge'in tüm üretim yükleme topolojilerinde en az üç Cassandra düğümü bulunur ve bu bölümde "IP1", "IP2" ve "IP3" olarak atıfta bulunulur. Varsayılan olarak bu düğümlerin her biri aynı rafta ("ra-1") bulunur.

Bu bölümde, tüm işlemlerin halka içindeki ayrı mantıksal gruplardaki çoğaltma düğümlerine gönderilmesi için Cassandra düğümlerinin ayrı raflara nasıl atanacağı açıklanmaktadır.

Kurulum 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

    Dosyayı yoksa oluşturun ve "Apigee" kullanıcısını sahip yaptığınızdan emin olun.

  2. Aşağıdaki söz dizimini kullanan IP adreslerinin (DNS veya ana makine adı girişlerinin değil) boşlukla ayrılmış bir listesi olan CASS_HOSTS özelliğini düzenleyin:
    CASS_HOSTS="IP_address:data_center_number,rack_number [...]"

    Varsayılan değer, aşağıdaki örnekte gösterildiği gibi, her biri raf 1'e ve veri merkezi 1'e atanmış üç düğümlü bir Cassandra halkasıdır:

    CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
  3. Aşağıdaki örnekte gösterildiği gibi raf atamalarını, düğüm 2'nin raf 2'ye ve düğüm 3'ün raf 3'e atanacağı şekilde değiştirin:
    CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"

    Raf atamalarını değiştirerek Cassandra'ya, ilk düğüm tarafından alınan tüm işlemleri alan replikalar sağlayan iki ek mantıksal gruplama (raflar) oluşturmasını söylersiniz.

    CASS_HOSTS yapılandırma özelliğini kullanma hakkında daha fazla bilgi için Edge Yapılandırma Dosyası Referansı'na bakın.

  4. Yapılandırma dosyasında yaptığınız değişiklikleri kaydedin ve Cassandra'yı güncellenmiş yapılandırmanızla yüklemek için aşağıdaki komutu yürütü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. Bu prosedürü, halkadaki her Cassandra düğümü için, düğümlerin CASS_HOSTS özelliğinde atandığı sırayla tekrarlayın. Bu durumda, Cassandra'yı aşağıdaki sırayla yüklemeniz gerekir:
    1. 1. düğüm (IP1)
    2. 2. Düğüm (IP2)
    3. 3. Düğüm (IP3)

Kurulumdan 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 atanıp atanmadığını kontrol edebilirsiniz:

/opt/apigee/apigee-cassandra/bin/nodetool status

(Bu komutu Cassandra düğümlerinden birinde çalıştırırsınız.)

Sonuçlar, her düğüm için Rack sütununda farklı raf kimlikleri gösterilen aşağıdakine benzer olacaktır:

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 de nodetool hizmetine iletmeniz gerekir. Daha fazla bilgi için Küme düğümlerini yönetmek için Nodetool'u kullanma bölümüne bakın.

Altı düğümlü halka takın

Ek yedekleme için Cassandra halkasını altı düğüme genişletebilirsiniz. Bu durumda, üç raftan her birine iki düğüm atarsınız. Bu yapılandırma için üç düğüm daha gerekir: Düğüm 4 (IP4), Düğüm 5 (IP5) ve Düğüm 6 (IP6).

Aşağıdaki resimde, işlemlerin halka boyunca çoğaltıldığı sıra (saat yönünde) gösterilmiştir ve çoğaltma sırasında aynı rafta iki bitişik düğüm olmadığı gerçeği vurgulanmıştır:

Her rafta 2 düğüm bulunan 3 raf
(Şekil 3) 6 düğümlü Cassandra halkası: Üç rafta iki düğüm

Bu yapılandırmada her düğümün, diğer iki rafta bir tane olmak üzere iki replikası daha vardır. Örneğin, raf 1'deki 1. düğümün Raf 2 ve Raf 3'te bir replikası vardır. 1. düğüme gönderilen işlemler, aynı zamanda diğer raflardaki replikalara saat yönünde sırayla 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. 1. düğüm (IP1)
  2. 4. Düğüm (IP4)*
  3. 2. Düğüm (IP2)
  4. 5. düğüm (IP5)
  5. 3. Düğüm (IP3)
  6. 6. Düğüm (IP6)

* Dördüncü düğümde (Cassandra kurulum siparişindeki 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şletme

Hata toleransını ve kullanılabilirliği daha da artırmak için halkadaki Cassandra düğümlerinin sayısını altıdan 12'ye artırabilirsiniz. Bu yapılandırma, ek altı düğüm gerektirir (IP7'den IP12'ye kadar).

Aşağıdaki resimde, işlemlerin halka boyunca çoğaltıldığı sıra (saat yönünde) gösterilmiştir ve çoğaltma sırasında aynı rafta iki bitişik düğüm olmadığı gerçeği vurgulanmıştır:

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

12 düğümlü halkanın kurulum prosedürü, üç veya altı düğümlü halkanın kurulumuna benzer: CASS_HOSTS öğesini verilen değerlere ayarlayın ve yükleyiciyi belirtilen sırada ç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 yürütmeniz gerekir:

  1. 1. düğüm (IP1)
  2. 7. düğüm (IP7)*
  3. 4. düğüm (IP4)
  4. 8. düğüm (IP8)
  5. 2. Düğüm (IP2)
  6. 9. Düğüm (IP9)
  7. 5. düğüm (IP5)
  8. Düğüm 10 (IP10)
  9. 3. Düğüm (IP3)
  10. 11. düğüm (IP11)
  11. 6. Düğüm (IP6)
  12. Düğüm 12 (IP12)

* Bu değişiklikleri, 7. düğümde (Cassandra kurulum sırasındaki ikinci makine) Private Cloud için Apigee Edge'i yüklemeden önce yapmanız gerekir.