Secure Sockets Layer (SSL), istemciler ve sunucular arasında güvenli bir bağlantı kurmak için kullanılan bir ağ protokolüdür. SSL etkinleştirildiğinde, Dataflow kümesindeki üreticiler, tüketiciler ve brokerlar arasındaki mesaj alışverişleri dahil tüm veri aktarımları şifrelenir. Bu sayede ağ iletimi sırasında verilerin dinlenmesi veya değiştirilmesi önlenir.
Ön koşullar
EMR konsolunda Kafka hizmeti seçili bir Dataflow kümesi (Kafka kümesi) oluşturulmuş olmalıdır. Daha fazla bilgi için bkz. Dataflow Kafka kümesi oluşturma.
Yordam
Adım 1: SSL'i etkinleştirin
E-MapReduce, Kafka kümesi için SSL yapılandırmak üzere iki yöntem sunar:
Varsayılan sertifika ile SSL'i etkinleştirme: Hızlıca SSL'i etkinleştirmek için varsayılan E-MapReduce sertifikasını ve yapılandırma yöntemini kullanın.
Özel ayarlarla SSL'i etkinleştirme: SSL'i etkinleştirmek için kendi sertifikanızı ve yapılandırma değerlerinizi kullanın.
server.properties dosyasındaki kafka.ssl.config.type parametresi, E-MapReduce'teki SSL yapılandırma ilkesini kontrol eder.
Yöntem 1: Varsayılan
Kafka kümeleri için SSL varsayılan olarak devre dışıdır. SSL'i hızlıca etkinleştirmek için aşağıdaki adımları izleyin.
-
Hizmet yapılandırma sayfasına gidin.
E-MapReduce konsolu nda oturum açın.
Üst gezinme çubuğundan ihtiyacınıza göre bir bölge ve bir kaynak grubu seçin.
Hedef kümenin İşlemler sütunundaki Services öğesini tıklayın.
Services sayfasında, Kafka hizmeti alanındaki Configure seçeneğini tıklayın.
-
Yapılandırma parametresini değiştirin.
Configure sayfasında server.properties sekmesini tıklayın.
kafka.ssl.config.type parametresini DEFAULT olarak ayarlayın.
-
Yapılandırmayı kaydedin.
Save öğesini tıklayın.
Açılan iletişim kutusunda bir Execution Reason girin ve Save öğesini tıklayın.
-
Kafka hizmetini yeniden başlatın.
Kafka hizmetinin Configure sayfasında seçeneklerini belirleyin.
Açılan iletişim kutusunda çalıştırma nedenini girin ve OK öğesini tıklayın.
Confirm iletişim kutusunda OK öğesini tıklayın.
Yöntem 2: Özel
Kafka kümeleri için SSL varsayılan olarak devre dışıdır. Özel bir yapılandırma kullanarak SSL'i etkinleştirebilirsiniz.
-
Hizmet yapılandırma sayfasına gidin.
E-MapReduce konsolu nda oturum açın.
Üst gezinme çubuğundan ihtiyacınıza göre bir bölge ve bir kaynak grubu seçin.
Hedef kümenin İşlemler sütunundaki Services öğesini tıklayın.
Services sayfasında, Kafka hizmeti alanındaki Configure seçeneğini tıklayın.
-
Yapılandırma parametresini değiştirin.
Configure sayfasında server.properties sekmesini tıklayın.
kafka.ssl.config.type parametre değerini CUSTOM olarak değiştirin.
-
Yapılandırmayı kaydedin.
Save öğesini tıklayın.
Açılan iletişim kutusunda bir Execution Reason girin ve Save öğesini tıklayın.
-
Diğer SSL parametrelerini yapılandırın.
listenersdışındaki SSL ile ilgili parametreleri gereksinimlerinize göre yapılandırın. Örnekler arasındassl.keystore.location,ssl.keystore.password,ssl.truststore.location,ssl.truststore.password,ssl.key.password,ssl.keystore.typevessl.truststore.typebulunur. -
Kafka hizmetini yeniden başlatın.
Kafka hizmetinin Configure sayfasında seçeneklerini belirleyin.
Açılan iletişim kutusunda çalıştırma nedenini girin ve OK öğesini tıklayın.
Confirm iletişim kutusunda OK öğesini tıklayın.
Adım 2: Kafka'ya SSL üzerinden bağlanın
Kafka'ya SSL üzerinden bağlanmak için aşağıdaki istemci parametrelerini yapılandırmanız gerekir: security.protocol, ssl.truststore.password ve ssl.truststore.location.
Örneğin, SSL etkinleştirilmiş bir Kafka kümesinde Kafka'nın yerleşik üretici ve tüketici araçlarını kullanarak bir iş çalıştırmak için şu adımları izleyin:
Kümenin ana düğümüne SSH üzerinden bağlanın. Daha fazla bilgi için bkz. Kümede oturum açma.
-
Bir yapılandırma dosyası oluşturun.
-
ssl.propertiesyapılandırma dosyasını oluşturmak için aşağıdaki komutu çalıştırın.vim ssl.properties -
ssl.propertiesdosyasına aşağıdaki içeriği ekleyin.security.protocol=SSL ssl.truststore.location=/var/taihao-security/ssl/ssl/truststore ssl.truststore.password=${password} ssl.keystore.location=/var/taihao-security/ssl/ssl/keystore ssl.keystore.password=${password} ssl.endpoint.identification.algorithm=Parametre değerlerini EMR konsolundaki Kafka hizmeti için Configure sayfasında bulabilirsiniz. İşinizi Kafka kümesi dışında çalıştırıyorsanız,
truststorevekeystoredosyalarını herhangi bir küme düğümünden çalışma zamanı ortamınıza kopyalayın ve dosya yollarını buna göre güncelleyin.
-
-
Bir konu oluşturmak için aşağıdaki komutu çalıştırın.
kafka-topics.sh --partitions 10 --replication-factor 2 --bootstrap-server core-1-1:9092 --topic test --create --command-config ssl.properties -
SSL yapılandırma dosyasını kullanarak veri üretmek için aşağıdaki komutları çalıştırın.
export IP=<your_InnerIP> kafka-producer-perf-test.sh --topic test --num-records 123456 --throughput 10000 --record-size 1024 --producer-props bootstrap.servers=${IP}:9092 --producer.config ssl.propertiesNotBu kod örneğinde
<your_InnerIP>master-1-1 düğümünün iç IP adresidir. -
SSL yapılandırma dosyasını kullanarak veri tüketmek için aşağıdaki komutları çalıştırın.
export IP=<your_InnerIP> kafka-consumer-perf-test.sh --broker-list ${IP}:9092 --messages 100000000 --topic test --consumer.config ssl.properties
İlgili konular
Kafka hizmetine SASL ile bağlanan kullanıcıların kimliğini doğrulamak için bkz. SASL kullanarak Kafka hizmetinde kimlik doğrulama.