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:
- Çoğaltma (Cassandra dokümanları)
- Kassandra Mimari ve Çoğaltma Faktörü Stratejisi
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:
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:
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:
- 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.
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"
- 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ı. - 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
- 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:- Düğüm 1 (IP1)
- Düğüm 2 (IP2)
- 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:
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:
- Düğüm 1 (IP1)
- Düğüm 4 (IP4)*
- Düğüm 2 (IP2)
- Düğüm 5 (IP5)
- Düğüm 3 (IP3)
- 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:
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:
- Düğüm 1 (IP1)
- Düğüm 7 (IP7)*
- Düğüm 4 (IP4)
- Düğüm 8 (IP8)
- Düğüm 2 (IP2)
- Düğüm 9 (IP9)
- Düğüm 5 (IP5)
- Düğüm 10 (IP10)
- Düğüm 3 (IP3)
- Düğüm 11 (IP11)
- Düğüm 6 (IP6)
- Düğüm 12 (IP12)
* Bu değişiklikleri, 7. düğüme (ikinci makine olan Cassandra kurulum siparişi) gerekir.