ZooKeeper Bakımı Hakkında

Private Cloud için Edge v. 4.17.01

ZooKeeper grupları, bir veya daha fazla ZooKeeper düğümünün kaybedilmesine rağmen veri kaybı olmadan çalışmaya devam edecek şekilde tasarlanmıştır. Bu dayanıklılık, cihazlarda bakım yapmak için etkili bir şekilde Sistem kapalı kalma süresi olmayan ZooKeeper düğümleri.

ZooKeeper ve Edge hakkında

Edge'de, ZooKeeper düğümleri öğenin konumu ve yapılandırması hakkında yapılandırma değişikliklerinin farklı bileşenlerini bildirir. Üretim sistemi için desteklenen tüm Edge topolojilerinde en az üç ZooKeeper düğümü kullanılmalıdır.

ZooKeeper düğümlerini belirtmek için Edge yapılandırma dosyasında ZK_HOSTS ve ZK_CLIENT_HOSTS özelliklerini kullanın. Örneğin:

ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 

Bu örnekte:

  • ZK_HOSTS - Belirtir ZooKeeper düğümlerinin IP adresleri. IP adresleri tüm ZooKeeper düğümlerini kullanabilir.
    .
    . Çoklu Veri Merkezi ortamında, tüm Veri Merkezlerindeki tüm ZooKeeper düğümlerini listeleyin.
  • ZK_CLIENT_HOSTS - Yalnızca bu Veri Merkezi tarafından kullanılan ZooKeeper düğümlerinin IP adreslerini belirtir. IP adresleri, Veri Merkezi'ndeki tüm ZooKeeper düğümlerinde aynı sırayla listelenmelidir.
    .
    . Tek bir Veri Merkezi yüklemesinde, bunlar ZK_HOSTS tarafından belirtilen düğümlerdir. kullanıyorsanız, her Veri Merkezi'nin Edge yapılandırma dosyası yalnızca Söz konusu Veri Merkezi için ZooKeeper düğümleri

Varsayılan olarak tüm ZooKeeper düğümleri oy veren düğüm olarak belirlenir. Bu, tüm düğümlerin ZooKeeper liderini seçmeye katıldığı anlamına gelir. Notun, oy veren değil gözlemci düğümü olduğunu belirtmek için ZK_HOSTS ile birlikte ":observer" değiştiricisini ekleyebilirsiniz. Gözlemci düğüm, lider seçimine katılmaz.

Birden fazla Uç Veri oluştururken genellikle ":observer" değiştiricisini belirtirsiniz tek bir Veri Merkezi'nde çok sayıda ZooKeeper düğümü olması gerekir. Örneğin, iki veri merkezi olan 12 ana makineli bir Edge kurulumunda, 2. Veri Merkezi'ndeki 9. düğümdeki ZooKeeper gözlemcidir:

Ardından, Veri Merkezi 1 için yapılandırma dosyanızda aşağıdaki ayarları kullanın:

ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"

Veri merkezi için

ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"

Liderler, takipçiler ve seçmenler ve gözlemciler

Çok düğümlü bir ZooKeeper yüklemesinde, düğümlerden biri lider olarak belirlenir. Diğer tüm ZooKeeper düğümleri takipçi olarak belirlenir. Okumalar herhangi bir cihazdan ZooKeeper düğümünde tüm yazma istekleri lidere yönlendirilir. Örneğin, Edge'e yeni bir Mesaj İşlemcisi eklenir. Bu bilgiler ZooKeeper liderine yazılır. Tüm takipçiler ve sonra verileri kopyalayın.

Edge'i yüklerken her ZooKeeper düğümünü oy veren veya gözlemci olarak belirtirsiniz. İlgili içeriği oluşturmak için kullanılan lider, tüm seçmen ZooKeeper düğümleri tarafından seçilir. Bir liderin seçilmesi için tek şart, çalışan ZooKeeper oylama düğümlerinin çoğunluk sağlamasıdır. CEVAP çoğunluk, tüm Veri Merkezlerindeki tüm seçmen ZooKeeper düğümlerinin yarısından fazlasının çalışır.

Yeterli sayıda oy veren düğüm yoksa lider seçilemez. Bu senaryoda, Zookeeper istekleri yayınlayamaz. Bu durumda, Edge Yönetim Sunucusu'na istek gönderemez, Yönetim API isteklerini işleyemez veya yeterli katılım sağlanana kadar Edge kullanıcı arayüzüne giriş yapamazsınız.

Örneğin, tek bir veri merkezi kurulumunda:

  • Üç ZooKeeper düğümü yüklediniz
  • Tüm ZooKeeper düğümleri seçmendir
  • Çoğunluk, çalışır durumda olan iki seçmen düğümünden oluşur
  • Yalnızca bir seçmen düğümü varsa ZooKeeper topluluğu çalışamaz

İki veri merkezi bulunan bir kurulumda:

  • Veri Merkezi başına toplam altı düğüm olacak şekilde üç ZooKeeper düğümü yüklediniz
  • Veri Merkezi 1'de üç seçmen düğümü var
  • 2. Veri Merkezi'nde iki oy düğümü ve bir gözlemci düğümü vardır
  • Kurul kararını, her iki veri merkezindeki beş seçmen belirler. Bu nedenle, üç işleyen seçmen düğümü vardır
  • Yalnızca iki veya daha az oy veren düğüm varsa ZooKeeper topluluğu çalışamaz

Düğümleri oy veren veya gözlemci olarak ekleme

Sistem gereksinimleriniz, Edge kurulumunuza ek ZooKeeper düğümleri eklemenizi gerektirebilir. ZooKeeper düğümleri ekleme belgeleri ek ZooKeeper düğümlerinin Edge'e nasıl ekleneceğini açıklar. ZooKeeper düğümleri eklerken eklenecek düğümlerin türünü de göz önünde bulundurun: seçmen veya gözlemci.

Bir veya daha fazla oy veren düğüm kapalıyken ZooKeeper topluluğunun çalışmaya devam edebilmesi için yeterli sayıda oy veren düğümünüz olduğundan emin olmanız gerekir. Yani, yeterli sayıda oy veren düğümün kullanılabilir olması gerekir. Oy kullanma düğümü ekleyerek oy kullanma sayısına ulaşırsınız. Bu sayede, daha fazla oy kullanma düğümünün kapalı olmasına izin verebilirsiniz.

Ancak, fazladan seçmen düğümleri eklemek yazma performansını olumsuz etkileyebilir. Bunun nedeni, operasyonlar için lider üzerinde anlaşmaya varmak için yeterli çoğunluk olması gerekir. Lideri belirlemek için gereken süre seçmen düğümlerinin sayısına bağlıdır ve bu sayı, daha fazla seçmen düğümü eklendikçe artar. Bu nedenle, tüm düğümleri oy verici yapmak istemezsiniz.

Oy veren düğümler yerine gözlemci düğümleri ekleyebilirsiniz. Gözlemci düğümlerinin eklenmesinde artış ek bir yük teşkil etmeden genel sistem okuma performansını gözlemci düğümleri oy vermez ve çoğunluk boyutunu etkilemez. Bu nedenle, bir gözlemci düğümü devre dışı kalırsa bu durum, topluluğun lider seçme özelliğini etkilemez. Ancak gözlemci düğümlerinin kaybedilmesi, veri isteklerini karşılayacak daha az düğüm bulunduğundan ZooKeeper topluluğunun okuma performansında düşüşe neden olabilir.

Apigee, tek bir veri merkezinde gözlemci düğümlerinin sayısına bakılmaksızın en fazla beş oy kullanmanız gerektiğini önerir. Apigee, iki veri merkezinde en fazla dokuz oy kullanmanız gerektiğini (bir veri merkezinde beş, diğerinde dört) önerir. Ardından, sistem gereksinimlerinize göre gerektiği kadar gözlemci düğümü ekleyebilirsiniz.

Bakımla İlgili Dikkat Edilmesi Gereken Noktalar

ZooKeeper bakımı, tek seferde tek bir düğümde gerçekleştirilirse tamamen işleyen bir toplu grupta herhangi bir kesinti yaşanmadan yapılabilir. Herhangi bir zamanda yalnızca bir ZooKeeper düğümünün devre dışı olduğundan emin olarak, bir lider seçmek için her zaman yeterli sayıda oy veren düğüm bulunduğundan emin olabilirsiniz.

Birden fazla veri merkezinde bakım

Birden fazla veri merkeziyle çalışırken ZooKeeper topluluğunun veri merkezleri arasında ayrım yapmadığını unutmayın. ZooKeeper derlemeleri, tüm veri merkezlerindeki tüm ZooKeeper düğümlerini tek bir topluluk olarak görüntüler.

Belirli bir Veri Merkezi'ndeki seçmen düğümlerinin konumu, ZooKeeper'ın gerçekleştirdiği etkinliklerde bir etken değildir çoğunluk hesaplamalarını Veri merkezlerinde tek tek düğümler devre dışı kalabilir ancak tüm grupta yeterli sayıda düğüm bulunduğu sürece ZooKeeper çalışır durumda kalır.

Bakım Sonuçları

Çeşitli zamanlarda, bir ZooKeeper düğümünü bakım için devre dışı bırakmanız (veya seçmen tarafından ya da gözlemci düğümünü tıklayın. Örneğin, düğümde Edge sürümünü yükseltmeniz gerekebilir. ZooKeeper'ı barındıran makine başarısız olabilir veya düğüm başka bir bir neden olabilir.

Devre dışı kalan düğüm bir gözlemci düğümüyse düğüm geri yüklenene kadar ZooKeeper topluluğunun performansında hafif bir düşüş görebilirsiniz. Düğüm seçmen ise bir düğümün kaybedilmesi nedeniyle ZooKeeper topluluğunun çalışma durumunu etkileyebilir. Lider seçim sürecine dahil olması. Seçmen düğümünün tercih etme nedenlerinden bağımsız olarak elverişli seçmen sayısının yeterli olması açısından önemlidir.

Bakım Prosedürü

Bakım prosedürlerini yalnızca bir ZooKeeper tarafından sağlandıktan sonra gerçekleştirmeyi düşünmelisiniz. çalışır durumda olması gerekir. Bu durumda, gözlemci düğümlerinin çalışır durumda olduğu ve yeterli sayıda seçmen düğümünün bulunduğu varsayılır.

Bu koşullar karşılandığında, rastgele büyüklükteki bir ZooKeeper topluluğu, herhangi bir noktada tek bir düğüm kaybı yaşar. Veri kaybı veya performans üzerinde anlamlı bir etki yoktur. Bu, bir seferde bir düğümde olduğu sürece, topluluktaki herhangi bir düğümde bakım yapabileceğiniz anlamına gelir.

Bakım işleminin bir parçası olarak, ZooKeeper düğümünün türünü (lideri, oy veren veya gözlemci) belirlemek için aşağıdaki prosedürü uygulayın:

  1. ZooKeeper düğümünde yüklü değilse nc'yi yükleyin:
    > sudo yum install nc
  2. Düğümde aşağıdaki nc komutunu çalıştırın:
    > echo stat | nc localhost 2181

    Burada 2181, ZooKeeper bağlantı noktasıdır. Çıkış şu formda görünecektir:
    Zookeeper sürümü: 3.4.5-1392090, oluşturulma tarihi: 30.09.2012 17:52 GMT
    İstemciler: /a.b.c.d:xxxx[0](queued=0,recved=1,sent=0)
    Minimum/ortalama/maks. gecikme: 0/0/0
    Alınma zamanı: 1
    Gönderilen: 0
    Bağlantı sayısı: 1
    Beklemede:
    0 Zxid: 0xc00000044
    Mod: takipçi
    Düğüm sayısı: 653


    . Çıkışın Mode (Mod) satırında yerine izleyici, lider veya takipçi (yani öncüsü) gösterilir.
    .
    . Not: Tek bir ZooKeeper düğümüne sahip Edge'in bağımsız yüklemesinde Mod bağımsız olarak ayarlanmıştır.
  3. Her bir ZooKeeper düğümünde 1. ve 2. adımı tekrarlayın.

Özet

ZooKeeper topluluğu üzerinde bakım yapmanın en iyi yolu, aynı anda tek bir düğümde gerekir. Hatırlatma:

  • ZooKeeper'ın çalışmasını sağlamak için bakım sırasında seçmen düğümlerinin çoğunlukta olması gerekir çalışmaya devam etmesi
  • Gözlemci düğümün devre dışı bırakılması, yeterlilik sayısını veya lider seçme olanağını etkilemez.
  • Çoğunluk, tüm Veri Merkezlerindeki tüm ZooKeeper düğümleri genelinde hesaplanır
  • Önceki sunucu çalışmaya başladıktan sonra sonraki sunucunun bakımına devam et
  • ZooKeeper düğümünü incelemek için nc komutunu kullanma