Azure HDInsight 'ta Apache Kafka nedir?

Apache Kafka, gerçek zamanlı akış verisi işlem hatları ve uygulamaları oluşturmak için kullanılabilen, açık kaynak dağıtılmış akış platformudur. Kafka ayrıca, adlandırılmış veri akışları yayımlayıp abone olabileceğiniz bir ileti kuyruğuna benzer aracı işlevselliği sağlar.

Aşağıda, HDInsight üzerinde Kafka’ya özgü özellikler verilmiştir:

  • Bu, Basitleştirilmiş bir yapılandırma işlemi sağlayan bir yönetilen hizmettir. Sonuçta, Microsoft tarafından test edilen ve desteklenen bir yapılandırma elde edilir.

  • Microsoft, Kafka çalışma süresinde %99,9 Hizmet Düzeyi Sözleşmesi (SLA) sağlar. Daha fazla bilgi için HDInsight için SLA bilgileri belgesine bakın.

  • Kafka için yedekleme deposu olarak Azure Yönetilen Diskler’i kullanır. Yönetilen Diskler, her Kafka aracısı için 16 TB’a kadar depolama alanı sağlayabilir. HDInsight üzerinde Kafka ile yönetilen diskleri yapılandırma hakkında daha fazla bilgi için bkz. HDInsight 'ta Apache Kafka ölçeklenebilirliğini artırma.

    Yönetilen diskler hakkında daha fazla bilgi için bkz. Azure Yönetilen Diskler.

  • Kafka, bir rafın tek bir boyutlu görünümüyle tasarlanmıştır. Azure, bir rafı iki boyuta ayırır: Güncelleştirme Etki Alanları (UD) ve Hata Etki Alanları (FD). Microsoft, UD ve FD’ler genelinde Kafka bölümleri ve çoğaltmalarını yeniden dengeleyen araçlar sağlar.

    Daha fazla bilgi için bkz. HDInsight üzerinde Apache Kafka yüksek kullanılabilirlik.

  • HDInsight, küme oluşturulduktan sonra çalışan düğümlerinin sayısını (Kafka aracısını barındıran) değiştirmenize olanak sağlar. Azure portal, Azure PowerShell ve diğer Azure Yönetim arabirimlerinden daha yukarı ölçekleme yapılabilir. Kafka için, bölüm çoğaltmalarını ölçeklendirme işlemlerinden sonra yeniden dengelemeniz gerekir. Bölümleri yeniden dengelemek, Kafka’nın yeni çalışan düğüm sayısından yararlanabilmesini sağlar.

    HDInsight Kafka, bir küme içindeki aracıların sayısını aşağı ölçeklendirmeyi veya azaltmasını desteklemez. Düğüm sayısını azaltmak için bir girişimde bulunulduğunda bir InvalidKafkaScaleDownRequestErrorCode hata döndürülür.

    Daha fazla bilgi için bkz. HDInsight üzerinde Apache Kafka yüksek kullanılabilirlik.

  • Azure Izleyici günlükleri, HDInsight üzerinde Kafka izlemek için kullanılabilir. Azure Izleyici, disk ve NIC ölçümleri gibi sanal makine düzeyindeki bilgileri ve Kafka 'ten JMX ölçümlerini kaydeder.

    Daha fazla bilgi için bkz. HDInsight 'ta Apache Kafka için günlükleri çözümleme.

HDInsight mimarisi üzerinde Apache Kafka

Aşağıdaki diyagram, olayların hata dayanıklılığı ile paralel olarak okunması için tüketici gruplarını, bölümlemeyi ve çoğaltmayı kullanan tipik Kafka yapılandırmasını göstermektedir:

Kafka kümesi yapılandırması diyagramı

Apache ZooKeeper, Kafka kümesinin durumunu yönetir. Zookeeper, eşzamanlı, esnek ve düşük gecikme süreli işlemler için derlenmiştir.

Kafka, kayıtları (verileri) konular içinde depolar. Kayıtlar, Üreticiler tarafından oluşturulur ve tüketiciler tarafından kullanılır. Üreticiler, Kafka aracılarına kayıtlar gönderir. HDInsight kümenizdeki her çalışan düğümü bir Kafka aracısıdır.

Aracılar arasında konuların bölüm kayıtları. Kayıtları tüketirken, verilerin paralel işlemesini elde etmek için bölüm başına en fazla bir tüketici kullanabilirsiniz.

Çoğaltma, düğümler arasında bölmeleri çoğaltmak ve düğüm (aracı) kesintilerine karşı koruma sağlamak için kullanılır. Diyagramda (L) harfi bulunan bölüm, verilen bölümün lideridir. Üretici trafiği ZooKeeper tarafından yönetilen durum kullanılarak her düğümün liderine yönlendirilir.

HDInsight üzerinde neden Apache Kafka kullanmalıyım?

Aşağıda, HDInsight üzerinde Kafka kullanılarak gerçekleştirilebilen yaygın görevler ve desenler verilmiştir:

Kullanın Description
Apache Kafka verilerinin çoğaltılması Kafka, Kafka kümeleri arasında veri çoğaltan MirrorMaker yardımcı programını sağlar. MirrorMaker kullanma hakkında daha fazla bilgi için bkz. HDInsight 'ta Apache Kafka Apache Kafka konularına çoğaltma.
Yayımla-abone ol mesajlaşma deseninin Kafka, bir Kafka konusuna kayıt yayımlamak için bir üretici API 'SI sağlar. Bir konu başlığına abone olurken Consumer API (Tüketici API’si) kullanılır. Daha fazla bilgi için bkz. HDInsight üzerinde Apache Kafka kullanmaya başlama.
Akış işleme Kafka, genellikle gerçek zamanlı akış işleme için Apache Storm veya Spark ile birlikte kullanılır. Kafka 0.10.0.0 (HDInsight sürüm 3.5 ve 3.6), Storm ya da Spark gerektirmeden akış çözümleri oluşturmanızı sağlayan bir akış API’sini kullanıma sunmuştur. Daha fazla bilgi için bkz. HDInsight üzerinde Apache Kafka kullanmaya başlama.
Yatay ölçeklendirme Kafka bölümleri, HDInsight kümesindeki düğümler arasında akışlar. Kayıtlar kullanılırken yük dengeleme sağlamak üzere tüketici işlemleri, tek bölümlerle ilişkilendirilebilir. Daha fazla bilgi için bkz. HDInsight üzerinde Apache Kafka kullanmaya başlama.
Sipariş içi teslim Her bölümde kayıtlar, alındıkları sırada akışta saklanır. Bölüm başına bir tüketici işlemi ile ilişkilendirerek, kayıtların sırayla işlenmesini garanti edebilirsiniz. Daha fazla bilgi için bkz. HDInsight üzerinde Apache Kafka kullanmaya başlama.
Mesajlaşma Yayımla-abone ol ileti modelini desteklediğinden, Kafka genellikle bir ileti Aracısı olarak kullanılır.
Etkinlik izleme Kafka, kayıtların sıralı olarak günlüğe kaydedilmesini sağladığından etkinlikleri izlemek ve yeniden oluşturmak için kullanılabilir. Örneğin, bir web sitesindeki veya uygulamadaki kullanıcı işlemleri.
Toplama Akış işlemeyi kullanarak, bilgileri bir işlem verileriyle birleştirmek ve merkezileştirmek için farklı akışlardan bilgi toplayabilirsiniz.
Dönüşüm Akış işlemeyi kullanarak, birden çok Giriş konusunun verilerini bir veya daha fazla çıktı konu başlığı içinde birleştirebilir ve zenginleştirebilirsiniz.

Sonraki adımlar

HDInsight’ta Apache Kafka kullanma hakkında bilgi almak için aşağıdaki bağlantıları kullanın: