Aracılığıyla paylaş


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:

  • Basitleştirilmiş bir yapılandırma işlemi sağlayan yönetilen bir 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 yönetilen diskleri Kafka ile yapılandırma hakkında bilgi için, HDInsight üzerinde Apache Kafka'nın ölçeklenebilirliğini artırma bölümüne bakın.

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

  • Kafka, bir rafın tek boyutlu perspektifiyle 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 ile yüksek kullanılabilirlik.

  • HDInsight, bir küme oluşturulduktan sonra Kafka aracısını barındıran çalışan düğümlerin sayısını değiştirmenize olanak tanır. Yukarı doğru ölçeklendirme Azure portalından, Azure PowerShell'den ve diğer Azure yönetim arabirimlerinden gerçekleştirilebilir. 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ı azaltmayı veya aşağı doğru ölçeklendirmeyi desteklemez. Düğüm sayısını azaltmaya çalışılırsa bir InvalidKafkaScaleDownRequestErrorCode hata döndürülür.

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

  • Azure İzleyici günlükleri, HDInsight üzerinde Kafka'nın izlenmesi için kullanılabilir. Azure İzleyici günlükleri, disk ve NIC ölçümleri gibi sanal makine düzeyindeki bilgileri ve Kafka'daki JMX ölçümlerini ortaya çıkarmaktadır.

    Daha fazla bilgi için bkz . HDInsight üzerinde Apache Kafka günlüklerini analiz etme.

HDInsight üzerinde Apache Kafka mimarisi

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ırma 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.

Konular, kayıtları aracılar arasında böler. 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 durumu kullanarak her düğümün liderine yönlendirilir.

HDInsight'ta Apache Kafka neden kullanılır?

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

Kullan Açıklama
Apache Kafka verilerini çoğaltma Kafka, Verileri Kafka kümeleri arasında çoğaltan MirrorMaker yardımcı programını sağlar. MirrorMaker kullanımı hakkında bilgi için bkz: HDInsight üzerinde Apache Kafka ile Apache Kafka konularını çoğaltma.
Yayımla-abone ol mesajlaşma düzeni Kafka, kayıtları bir Kafka konusuna 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 HDInsight üzerinde Apache Kafka ile Başlama kısmına bakın.
Akış işleme Kafka genellikle gerçek zamanlı akış işleme için Spark ile birlikte kullanılır. Kafka 2.1.1 ve 2.4.1 (HDInsight sürüm 4.0 ve 5.0) Spark gerektirmeden akış çözümleri oluşturmanıza olanak tanıyan akış API'lerini destekler. Daha fazla bilgi için HDInsight üzerinde Apache Kafka ile başlama kısmına bakın.
Yatay ölçeklendirme Kafka, HDInsight kümesindeki düğümler arasında akışları bölümler. Kayıtlar tüketilirken yük dengelemesi sağlamak için tüketici süreçleri bireysel bölümlerle ilişkilendirilebilir. Daha fazla bilgi için HDInsight üzerinde Apache Kafka'ya Başlarken sayfasına bakın.
Sipariş içi teslimat Her bölüm içinde kayıtlar akışta alındıkları sırayla depolanı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 ile Başlama.
Mesajlaşma Yayımla-abone ol ileti desenini desteklediğinden Kafka genellikle ileti aracısı olarak kullanılır.
Etkinlik izleme Kafka kayıtların sırayla 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, farklı akışlardan bilgileri bir araya getirerek işlem verilerine göre merkezileştirebilirsiniz.
Dönüşüm Akış işlemeyi kullanarak, birden çok giriş konu başlığındaki verileri bir veya daha fazla çıkış konu başlığında 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: