Cassandra rafı desteği ekleyin

.

Bu bölümde, Cassandra'yı kullanarak Cassandra'nın işlemlerini ölçeklendirmek için kullanıma sunuyoruz.

Cassandra'nın halka rafını tanımanın neden önemli olduğu hakkında daha fazla bilgi için aşağıdaki kaynaklar:

Raf nedir?

Cassandra rafı, halka içindeki Cassandra düğümlerinden oluşan mantıksal bir gruptur. Cassandra replikaların farklı mantıksal gruplar arasında dağıtılmasını sağlamak için raflar kullanır. Kullanıcı Bu durumda işlemler yalnızca bir düğüme değil, her biri ayrı bir rafta bulunan birden çok düğüme gönderilir. ve daha fazla hata toleransı sağlar.

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

Apigee Edge for Private Cloud'da varsayılan Cassandra kurulumunda tek bir mantıksal raf varsayılır ve tüm düğümleri ele alacağız. Bu yapılandırmanın yüklenmesi ve yönetilmesi basit olsa da, bu düğümlerden birinde bir işlem başarısız olursa başarısız olma olasılığı yüksektir.

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 düğümdeki tüm düğümler raf

Daha sağlam bir yapılandırmada, her düğüm ayrı bir rafa ve işlemlere bu rafların her birinde replikalar üzerinde de yürütülür.

Aşağıdaki resimde 3 düğümlü bir halka gösterilmektedir. Bu resimde, işlemlerin tamamlanma sırası halka boyunca (saat yönünde) çoğaltılır ve hiçbir düğümün aynı hizada olmadığını vurgular raf:

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

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

Raf bilinirliği ekleme (3 düğümlü)

Apigee Edge for Private Cloud'un tüm üretim Kurulum topolojileri en az üç Cassandra düğümüne sahiptir. Bu bölümde "IP1", "IP2" ve "IP3" olarak ifade ediliyor. Varsayılan olarak bu düğümlerin her biri aynı rafta bulunur ve "ra-1".

Bu bölümde, tüm işlemlerin doğru şekilde yapılabilmesi için Cassandra düğümlerinin ayrı raflara nasıl atanacağı halka içinde ayrı mantıksal gruplardaki replika düğümlere gönderilir.

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 aşağıdaki sessiz yapılandırma dosyasını kullanın:
    /opt/silent.conf

    Dosyayı mevcut değilse oluşturun ve "Apigee" sahip olması gerekir.

  2. CASS_HOSTS özelliğini, IP adreslerinin (DNS veya ana makine adı girişleri) kaldırın:
    CASS_HOSTS="IP_address:data_center_number,rack_number [...]"

    Varsayılan değer, her bir düğüm raf 1'e ve verilere atanmış üç düğümlü bir Cassandra halkasıdır. merkez 1'i seçin:

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

    Raf atamalarını değiştirerek Cassandra’ya iki mantıksal gruplamaları (raflar) içerir. Bunlar, daha sonra istemcinin aldığı tüm işlemleri alan ilk düğüm.

    CASS_HOSTS yapılandırma özelliğini kullanma hakkında daha fazla bilgi için Uç Yapılandırma Dosyası Referansı.

  4. Yapılandırma dosyasında yaptığınız değişiklikleri kaydedin ve yüklemek için aşağıdaki komutu yürütün Cassandra'da güncellenmiş yapılandırmanız var:
    /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. Halkadaki her Cassandra düğümü için bu prosedürü, düğümlerin CASS_HOSTS özelliğinde atanır. Bu durumda Cassandra'yı yüklemeniz gerekir. şu sırada:
    1. Düğüm 1 (IP1)
    2. Düğüm 2 (IP2)
    3. Düğüm 3 (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ını yükledikten sonra düğümlerin olarak farklı raflara nodetool status komutu kullanılarak atanır. aşağıdaki örnek gösterilmektedir:

/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 olacaktır (Rack sütunu). her düğüm için farklı raf kimliklerini gösterir:

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 nodetool şifresi. Daha fazla bilgi için bkz. Küme düğümlerini yönetmek için nodetool'u kullanın.

Altı düğümlü halka takma

Ek yedeklilik için Cassandra halkasını altı düğüme genişletebilirsiniz. Böyle durumlarda üç rafın her birine iki düğüm atayın. 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 gösterilmektedir (saat yönünde) ve çoğaltma sırasında komşu iki düğümün aynı hizada olmadığını vurgular raf:

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

Bu yapılandırmada her düğümde, biri diğer iki rafta olmak üzere iki kopya daha bulunur. Örneğin, örnek olarak, raf 1'deki düğüm 1'in Raf 2 ve Raf 3'te bir replikası vardır. Düğüm 1'e gönderilen işlemler de diğer raflardaki replikalara saat yönünde gönderilir.

Üç düğümlü bir Cassandra halkasını altı düğümlü bir Cassandra halkasına genişletmek için aşağıdaki şekilde yapabilirsiniz:

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 sıralandığı sırayla yüklemeniz gerekir. CASS_HOSTS özelliğinde görünür:

  1. Düğüm 1 (IP1)
  2. Düğüm 4 (IP4)*
  3. Düğüm 2 (IP2)
  4. Düğüm 5 (IP5)
  5. Düğüm 3 (IP3)
  6. Düğüm 6 (IP6)

* Kurulum yardımcı programını çalıştırmadan önce sessiz yapılandırma dosyasında değişikliklerinizi yapın dördüncü düğümde (Cassandra kurulum siparişindeki ikinci makine) görebilirsiniz.

12 düğüme genişlet

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

Aşağıdaki resimde, işlemlerin halka boyunca çoğaltıldığı sıra gösterilmektedir (saat yönünde) ve çoğaltma sırasında komşu iki düğümün aynı hizada olmadığını vurgular raf:

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

12 düğümlü halka takma prosedürü, üç veya altı düğümlü halka takmaya benzer: CASS_HOSTS öğesini belirtilen değerlere ayarlayın ve yükleyiciyi belirtilen sırada çalıştırın.

12 düğümlü Cassandra halkasına genişletmek için sessiz modda düğümleri aşağıdaki şekilde yapılandırın: yapılandırma dosyası:

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 sırayla yürütmeniz gerekir. yapılandırma dosyasında şu düğümler görünür:

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

* Bu değişiklikleri, 7. düğüme (ikinci makine olan Cassandra kurulum siparişi) gerekir.