Tüm Ürünler
Search
Belge Merkezi

ApsaraMQ for Kafka:Create an Elasticsearch sink connector

Son Güncelleme:Oct 06, 2026

Bir Elasticsearch sink connector, ApsaraMQ for Kafka örneğinizdeki bir konudan mesajları okur ve bunları bir Elasticsearch dizinine yazar. Connector, Function Compute'u aracı olarak kullanır: kaynak konudan mesajları tüketir, bunları bir Function Compute işlevine iletir ve işlev Bulk API aracılığıyla verileri Elasticsearch'e yazar. Her mesaj; konu, parça, ofset ve zaman damgası gibi meta verilerle birlikte hedef dizinde bir belgeye dönüşür.

Başlamadan önce

Connector'ü oluşturmadan önce aşağıdaki kurulum adımlarını tamamlayın.

ApsaraMQ for Kafka

Function Compute

Elasticsearch

Toplanması gereken bilgiler

Sihirbazı başlatmadan önce aşağıdaki bilgileri toplayın.

Bilgi Nereden bulunur Örnek
Elasticsearch örnek ID'si Elasticsearch konsolu es-cn-oew1o67x0000****
Elasticsearch uç noktası (genel veya özel) Küme temel bilgileri es-cn-oew1o67x0000****.elasticsearch.aliyuncs.com
Elasticsearch bağlantı noktası Küme temel bilgileri 9200 (HTTP/HTTPS) veya 9300 (TCP)
Elasticsearch kullanıcı adı ve şifresi Küme oluşturma sırasında ayarlanır; gerekirse sıfırlayın elastic / ****
Elasticsearch dizin adı Elasticsearch konsolu elastic_test
Kaynak konu adı ApsaraMQ for Kafka konsolu elasticsearch-test-input

Sınırlamalar

  • ApsaraMQ for Kafka örneği ile Elasticsearch kümesi aynı bölgede bulunmalıdır.

  • ApsaraMQ for Kafka, mesajları UTF-8 dizeleri olarak serileştirir. İkili veri desteklenmez.

  • Elasticsearch kümesinin özel uç noktasını belirtirseniz, Function Compute varsayılan olarak bu uç noktaya erişemez. Bağlantıyı etkinleştirmek için Function Compute hizmetini Elasticsearch kümesiyle aynı VPC ve vSwitch'i kullanacak şekilde yapılandırın. Bkz. Function Compute hizmetini yapılandırma.

  • Ek connector sınırlamaları için bkz. Sınırlamalar.

Faturalama

Connector, verileri dışa aktarmak için Function Compute kullanır. Function Compute ücretsiz bir kullanım katmanı sunar. Ücretsiz katman aşımı durumunda yapılan kullanımlar Function Compute faturalandırması esas alınarak ücretlendirilir.

Connector'ü oluşturma ve dağıtma

  1. ApsaraMQ for Kafka konsoluna giriş yapın.

  2. Overview sayfasının Resource Distribution bölümünde bölgenizi seçin.

  3. Sol gezinme bölmesinde Connectors öğesine tıklayın.

  4. Connectors sayfasında, Select Instance açılır listesinden örneğinizi seçin ve Create Connector seçeneğine tıklayın.

Adım 1: Temel bilgileri yapılandırma

Configure Basic Information adımında connector adını belirleyin ve örnek ayrıntılarını gözden geçirin.

Parametre Açıklama Örnek
Name ApsaraMQ for Kafka örneği içinde benzersiz bir ad. 1 ila 48 karakter kullanın: rakamlar, küçük harfler ve tire (-). Tire ile başlayamaz. Connector, otomatik olarak connect-<connector-name> adlı bir tüketici grubu oluşturur. kafka-elasticsearch-sink
Instance Geçerli örneğin adını ve ID'sini gösterir. demo alikafka_post-cn-st21p8vj****
Önemli

Varsayılan olarak Authorize to Create Service Linked Role seçili gelir. ApsaraMQ for Kafka, henüz yoksa bir hizmet bağlantılı rol oluşturur.

Next seçeneğine tıklayın.

Adım 2: Kaynak hizmeti yapılandırma

Configure Source Service adımında kaynak hizmet olarak Message Queue for Apache Kafka seçeneğini belirleyin ve aşağıdaki parametreleri yapılandırın.

Parametre Açıklama Örnek
Data Source Topic Verilerin tüketileceği konu. elasticsearch-test-input
Consumer Thread Concurrency Eşzamanlı tüketici iş parçacığı sayısı. Geçerli değerler: 1, 2, 3, 6, 12. Varsayılan: 6. 6
Consumer Offset Tüketimin nereden başlayacağı. Earliest Offset baştan itibaren okur. Latest Offset yalnızca yeni mesajları okur. Earliest Offset

Ek parametreleri genişletmek için Configure Runtime Environment seçeneğine tıklayın.

ParametreAçıklamaÖrnek
VPC IDKaynak örneğin VPC'si. Otomatik doldurulur; değişiklik gerekmez.vpc-bp1xpdnd3l***
vSwitch IDKaynak örneğin vSwitch'i. Aynı VPC içinde olmalıdır.vsw-bp1d2jgg81***
Failure Handling PolicyBir mesaj başarısız olduğunda alınacak eylem. Continue Subscription hatayı günlüğe kaydeder ve tüketmeye devam eder. Stop Subscription hatayı günlüğe kaydeder ve parçayı durdurur. Günlük ayrıntıları için Connector yönetimi bölümüne, sorun giderme için Hata kodları bölümüne bakın.
Not
Continue Subscription
Resource Creation MethodAuto gerekli dahili konuları otomatik olarak oluşturur. Manual bunları kendiniz oluşturmanıza olanak tanır.Auto
Connector Consumer GroupConnector görevi için tüketici grubu. Format: connect-<connector-name>.connect-kafka-elasticsearch-sink

Dahili konular (yalnızca manuel oluşturma)

Resource Creation Method değerini Manual olarak ayarlarsanız aşağıdaki konuları oluşturun. Local Storage gerektiren tüm konular yalnızca Professional Edition örneklerde kullanılabilir.

Parametre Adlandırma kuralı Parçalar Depolama motoru **cleanup.policy**
Task Offset Topic connect-offset-* 1'den fazla Local Storage Compact
Task Configuration Topic connect-config-* Tam olarak 1 Local Storage Compact
Task Status Topic connect-status-* 6 (önerilen) Local Storage Compact
Dead-letter Queue Topic connect-error-* 6 (önerilen) Local Storage veya Cloud Storage --
Error Data Topic connect-error-* 6 (önerilen) Local Storage veya Cloud Storage --
Not

Konu kaynaklarını tasarruf etmek için dead-letter queue konusu ve error data konusu olarak aynı konuyu kullanın.

Next seçeneğine tıklayın.

Adım 3: Hedef hizmeti yapılandırma

Configure Destination Service adımında hedef hizmet olarak Elasticsearch seçeneğini belirleyin ve aşağıdaki parametreleri yapılandırın.

Parametre Açıklama Örnek
Elasticsearch Instance ID Elasticsearch kümesinin ID'si. es-cn-oew1o67x0000****
Endpoint Kümenin genel veya özel uç noktası. Bkz. Küme temel bilgilerini görüntüleme. es-cn-oew1o67x0000****.elasticsearch.aliyuncs.com
Port HTTP/HTTPS için 9200 veya TCP için 9300. 9300
Username Elasticsearch kullanıcı adı. Varsayılan: elastic. Gerekirse X-Pack RBAC üzerinden özelleştirin. Hesabın hedef dizinde yazma izni olması gerekir. elastic
Password Küme oluşturma sırasında belirlenen şifre. Unuttuysanız şifreyi sıfırlayın. ****
Index Hedef Elasticsearch dizin adı. elastic_test
Not
  • Kullanıcı adı ve şifre, connector görevi oluşturulduğunda ortam değişkenleri olarak Function Compute'a iletilir. ApsaraMQ for Kafka, görev oluşturma sonrasında bu kimlik bilgilerini saklamaz.

  • Mesajlar Elasticsearch Bulk API aracılığıyla gönderildiğinden hesabın dizine yazma iznine sahip olması gerekir.

Create seçeneğine tıklayın.

Connector'ü dağıtma

Oluşturma işleminden sonra connector, Connectors sayfasında görünür. Connector'ü başlatmak için Actions sütunundaki Deploy seçeneğine tıklayın.

Function Compute hizmetini yapılandırma

Connector'ü dağıttıktan sonra Function Compute, kafka-service-<connector-name>-<random-string> adlı bir hizmeti otomatik olarak oluşturur. Elasticsearch kümesi özel bir uç nokta kullanıyorsa, Function Compute hizmetini Elasticsearch kümesiyle aynı VPC ve vSwitch'i kullanacak şekilde yapılandırın.

  1. Connectors sayfasında connector'ü bulun. Actions sütununda More > Configure Function seçeneklerini belirleyin.

  2. Function Compute konsolunda otomatik oluşturulan hizmeti bulun ve Elasticsearch kümesiyle eşleşecek şekilde VPC ve vSwitch ayarlarını güncelleyin.

Veri akışını doğrulama

Verilerin ApsaraMQ for Kafka'dan Elasticsearch'e aktığını onaylamak için bir test mesajı gönderin.

Test mesajı gönderme

  1. Connectors sayfasında connector'ü bulun ve Actions sütunundaki Test seçeneğine tıklayın.

  2. Send Message panelinde Method of Sending değerini Console olarak ayarlayın.

  3. Message Key alanına bir anahtar girin; örneğin demo.

  4. Message Content alanına bir JSON gövdesi girin; örneğin:

       {"key": "test"}
  5. Send to Specified Partition seçeneği için belirli bir parçayı hedeflemek üzere Yes seçeneğine tıklayın ve bir Partition ID (örneğin 0) girin veya sistem tarafından atanmasını sağlamak için No seçeneğine tıklayın. Parça ID'lerini aramak için bkz. Parça durumunu görüntüleme.

Test mesajlarını Docker veya bir SDK üzerinden de gönderebilirsiniz. Method of Sending alanında ilgili seçeneği belirleyin ve ekrandaki talimatları izleyin.

Elasticsearch dizinini kontrol etme

  1. Kibana konsoluna giriş yapın.

  2. Hedef dizinde arama yapmak için aşağıdaki sorguyu çalıştırın:

       GET /<index_name>/_search
  3. Yanıtın gönderdiğiniz mesajı içerdiğini onaylayın. Başarılı bir yanıt şu şekildedir:

       {
         "took": 8,
         "timed_out": false,
         "_shards": {
           "total": 5,
           "successful": 5,
           "skipped": 0,
           "failed": 0
         },
         "hits": {
           "total": {
             "value": 1,
             "relation": "eq"
           },
           "max_score": 1.0,
           "hits": [
             {
               "_index": "product_****",
               "_type": "_doc",
               "_id": "TX3TZHgBfHNEDGoZ****",
               "_score": 1.0,
               "_source": {
                 "msg_body": {
                   "key": "test",
                   "offset": 2,
                   "overflowFlag": false,
                   "partition": 2,
                   "timestamp": 1616599282417,
                   "topic": "dv****",
                   "value": "test1",
                   "valueSize": 8
                 },
                 "doc_as_upsert": true
               }
             }
           ]
         }
       }

Sorun giderme

Belirti Olası neden Çözüm
Connector Elasticsearch'e yazamıyor Function Compute, Elasticsearch kümesine ulaşamıyor Function Compute hizmetinin Elasticsearch kümesiyle aynı VPC ve vSwitch'i kullandığını doğrulayın. Bkz. Function Compute hizmetini yapılandırma.
Mesajlar tüketilmiyor Yanlış tüketici ofseti ayarı Consumer Offset ayarını kontrol edin. Mevcut tüm mesajları okumak için Earliest Offset seçeneğini, yalnızca yeni mesajlar için Latest Offset seçeneğini kullanın.
Kimlik doğrulama hataları Geçersiz kimlik bilgileri veya yetersiz izinler Kullanıcı adı ve şifrenin doğru olduğunu ve hesabın hedef dizinde yazma iznine sahip olduğunu onaylayın.

Function Compute işlev çağrı günlükleri için bkz. Günlük kaydı özelliğini yapılandırma.