Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghubungkan ke klaster Anda dengan kredensyal masuk
Setelah Anda membuat rahasia dan mengaitkannya dengan cluster Anda, Anda dapat menghubungkan klien Anda ke cluster. Prosedur berikut menunjukkan cara menghubungkan klien ke cluster yang menggunakan SASL/SCRAM otentikasi. Ini juga menunjukkan bagaimana memproduksi dan mengkonsumsi dari topik contoh.
Menghubungkan klien ke cluster menggunakan SASL/SCRAM otentikasi
-
Jalankan perintah berikut pada mesin yang telah AWS CLI diinstal. Ganti
clusterARNdengan ARN cluster Anda.aws kafka get-bootstrap-brokers --cluster-arnclusterARNDari hasil JSON dari perintah ini, simpan nilai yang terkait dengan string bernama
BootstrapBrokerStringSaslScram. Anda akan menggunakan nilai ini di langkah selanjutnya. -
Di mesin klien Anda, buat file konfigurasi JAAS yang berisi kredensyal pengguna yang disimpan dalam rahasia Anda. Misalnya, untuk pengguna alice, buat file yang dipanggil
users_jaas.confdengan konten berikut.KafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="alice-secret"; }; -
Gunakan perintah berikut untuk mengekspor file konfigurasi JAAS Anda sebagai parameter
KAFKA_OPTSlingkungan.export KAFKA_OPTS=-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -
Buat file bernama
kafka.client.truststore.jksdalam/tmpdirektori. -
(Opsional) Gunakan perintah berikut untuk menyalin file penyimpanan kunci JDK dari
cacertsfolder JVM Anda kekafka.client.truststore.jksfile yang Anda buat pada langkah sebelumnya. GantiJDKFolderdengan nama folder JDK pada instance Anda. Misalnya, folder JDK Anda mungkin diberi nama.java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64cp /usr/lib/jvm/JDKFolder/lib/security/cacerts /tmp/kafka.client.truststore.jks -
Di
bindirektori instalasi Apache Kafka Anda, buat file properti klien yang disebutclient_sasl.propertiesdengan konten berikut. File ini mendefinisikan mekanisme dan protokol SASL.security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512 -
Untuk membuat contoh topik, jalankan perintah berikut. Ganti
BootstrapBrokerStringSaslScramdengan string broker bootstrap yang Anda peroleh di langkah 1 topik ini.<path-to-your-kafka-installation>/bin/kafka-topics.sh --create --bootstrap-serverBootstrapBrokerStringSaslScram--command-config<path-to-client-properties>/client_sasl.properties --replication-factor 3 --partitions 1 --topic ExampleTopicName -
Untuk menghasilkan contoh topik yang Anda buat, jalankan perintah berikut di mesin klien Anda. Ganti
BootstrapBrokerStringSaslScramdengan string broker bootstrap yang Anda ambil di langkah 1 topik ini.<path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-listBootstrapBrokerStringSaslScram--topicExampleTopicName--producer.config client_sasl.properties -
Untuk mengkonsumsi dari topik yang Anda buat, jalankan perintah berikut di mesin klien Anda. Ganti
BootstrapBrokerStringSaslScramdengan string broker bootstrap yang Anda peroleh di langkah 1 topik ini.<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--from-beginning --consumer.config client_sasl.properties
Memecahkan masalah koneksi
Saat menjalankan perintah klien Kafka, Anda mungkin mengalami kesalahan memori heap Java, terutama saat bekerja dengan topik atau kumpulan data besar. Kesalahan ini terjadi karena alat Kafka berjalan sebagai aplikasi Java dengan pengaturan memori default yang mungkin tidak cukup untuk beban kerja Anda.
Untuk mengatasi Out of Memory Java Heap kesalahan, Anda dapat meningkatkan ukuran heap Java dengan memodifikasi variabel KAFKA_OPTS lingkungan untuk menyertakan pengaturan memori.
Contoh berikut menetapkan ukuran heap maksimum untuk 1GB ()-Xmx1G. Anda dapat menyesuaikan nilai ini berdasarkan memori dan persyaratan sistem yang tersedia.
export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -Xmx1G"
Untuk mengkonsumsi topik besar, pertimbangkan untuk menggunakan parameter berbasis waktu atau berbasis offset alih-alih membatasi penggunaan --from-beginning memori:
<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-serverBootstrapBrokerStringSaslScram--topicExampleTopicName--max-messages 1000 --consumer.config client_sasl.properties