

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Langkah 4: Buat topik di cluster MSK Amazon
<a name="create-topic"></a>

Pada langkah [Memulai Menggunakan Amazon MSK](getting-started.md) ini, Anda dapat membuat topik menggunakan salah satu dari dua pendekatan: menggunakan AWS alat asli dengan CreateTopic API, atau menggunakan alat Apache Kafka pada AdminClient mesin klien.

**Awas**  
Saat menggunakan AWS alat dengan CreateTopic API, verifikasi bahwa klaster Anda memenuhi persyaratan. Untuk detailnya, lihat [Persyaratan untuk menggunakan topik APIs](https://docs.aws.amazon.com/msk/latest/developerguide/msk-topic-operations-information.html#topic-operations-requirements).

**Awas**  
Saat menggunakan AdminClient pendekatan ini, nomor versi Apache Kafka yang digunakan dalam tutorial ini adalah contoh saja. Kami menyarankan Anda menggunakan versi klien yang sama dengan versi cluster MSK Anda. Versi klien yang lebih lama mungkin kehilangan fitur tertentu dan perbaikan bug penting.

**Topics**
+ [Membuat topik menggunakan AWS alat](#create-topic-aws-tools)
+ [Menentukan versi klaster MSK Anda](#find-msk-cluster-version)
+ [Membuat topik di mesin klien](#create-topic-client-machine)

## Membuat topik menggunakan AWS alat
<a name="create-topic-aws-tools"></a>

Anda dapat membuat topik di klaster MSK Anda menggunakan AWS alat seperti AWS CLI AWS SDKs,, atau AWS Konsol Manajemen. Pendekatan ini menyediakan cara yang efisien untuk mengelola topik tanpa memerlukan akses langsung ke alat klien Kafka.

Untuk informasi mendetail tentang membuat topik menggunakan AWS alat, lihat [panduan pengembang CreateTopic API](https://docs.aws.amazon.com/msk/latest/developerguide/msk-create-topic.html).

## Menentukan versi klaster MSK Anda
<a name="find-msk-cluster-version"></a>

1. Buka konsol MSK Amazon di[https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Di bilah navigasi, pilih Wilayah tempat Anda membuat cluster MSK.

1. Pilih cluster MSK.

1. Perhatikan versi Apache Kafka yang digunakan pada cluster.

1. Ganti contoh nomor versi Amazon MSK dalam tutorial ini dengan versi yang diperoleh pada Langkah 3.

## Membuat topik di mesin klien
<a name="create-topic-client-machine"></a>

1. **Connect ke mesin klien Anda.**

   1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

   1. Di panel navigasi, pilih **Instans**. Kemudian, pilih kotak centang di samping nama mesin klien yang Anda buat[Langkah 3: Buat mesin klien](create-client-machine.md).

   1. Pilih **Actions**, lalu pilih **Connect**. Ikuti petunjuk di konsol untuk terhubung ke mesin klien Anda.

1. **Instal Java dan atur variabel lingkungan versi Kafka.**

   1. Instal Java pada mesin klien dengan menjalankan perintah berikut.

      ```
      sudo yum -y install java-11
      ```

   1. Simpan [versi Kafka](#find-msk-cluster-version) dari cluster MSK Anda dalam variabel lingkungan`KAFKA_VERSION`, seperti yang ditunjukkan pada perintah berikut. Anda akan memerlukan informasi ini di seluruh pengaturan.

      ```
      export KAFKA_VERSION={KAFKA VERSION}
      ```

      Misalnya, jika Anda menggunakan versi 3.6.0, gunakan perintah berikut.

      ```
      export KAFKA_VERSION=3.6.0
      ```

1. **Unduh dan ekstrak Apache Kafka.**

   1. Jalankan perintah berikut untuk mengunduh Apache Kafka. 

      ```
      wget https://archive.apache.org/dist/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
      ```
**catatan**  
Daftar berikut menyajikan beberapa informasi unduhan Kafka alternatif yang dapat Anda gunakan, jika Anda mengalami masalah.  
Jika Anda mengalami masalah konektivitas atau ingin menggunakan situs mirror, coba gunakan pemilih cermin Apache, seperti yang ditunjukkan pada perintah berikut.  

        ```
        wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
        ```
Unduh versi yang sesuai langsung dari situs web [Apache Kafka](https://kafka.apache.org/downloads).

   1. Jalankan perintah berikut di direktori tempat Anda mengunduh file TAR pada langkah sebelumnya.

      ```
      tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
      ```

   1. Simpan path lengkap ke direktori yang baru dibuat di dalam variabel `KAFKA_ROOT` lingkungan.

      ```
      export KAFKA_ROOT=$(pwd)/kafka_2.13-$KAFKA_VERSION
      ```

1. **Siapkan otentikasi untuk klaster MSK Anda.**

   1. [Temukan versi terbaru dari pustaka](https://github.com/aws/aws-msk-iam-auth/releases/latest) klien Amazon MSK IAM. Pustaka ini memungkinkan mesin klien Anda untuk mengakses kluster MSK menggunakan otentikasi IAM.

   1. Dengan menggunakan perintah berikut, navigasikan ke `$KAFKA_ROOT/libs` direktori dan unduh Amazon MSK IAM JAR terkait yang Anda temukan di langkah sebelumnya. Pastikan untuk mengganti *\$1LATEST VERSION\$1* dengan nomor versi aktual yang Anda unduh.

      ```
      cd $KAFKA_ROOT/libs
      ```

      ```
      wget https://github.com/aws/aws-msk-iam-auth/releases/latest/download/aws-msk-iam-auth-{LATEST VERSION}-all.jar
      ```
**catatan**  
Sebelum menjalankan perintah Kafka yang berinteraksi dengan kluster MSK Anda, Anda mungkin perlu menambahkan file Amazon MSK IAM JAR ke classpath Java Anda. Mengatur variabel `CLASSPATH` lingkungan, seperti yang ditunjukkan pada contoh berikut.  

      ```
      export CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar
      ```
Ini mengatur `CLASSPATH` untuk seluruh sesi Anda, membuat JAR tersedia untuk semua perintah Kafka berikutnya.

   1. Pergi ke `$KAFKA_ROOT/config` direktori untuk membuat file konfigurasi klien.

      ```
      cd $KAFKA_ROOT/config
      ```

   1. Salin pengaturan properti berikut dan tempel ke file baru. Simpan file sebagai **client.properties**.

      ```
      security.protocol=SASL_SSL
      sasl.mechanism=AWS_MSK_IAM
      sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
      sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
      ```

1. **(Opsional) Sesuaikan ukuran tumpukan Java untuk alat Kafka.**

   Jika Anda mengalami masalah terkait memori atau Anda bekerja dengan sejumlah besar topik atau partisi, Anda dapat menyesuaikan ukuran tumpukan Java. Untuk melakukan ini, atur variabel `KAFKA_HEAP_OPTS` lingkungan sebelum menjalankan perintah Kafka.

   Contoh berikut menetapkan ukuran heap maksimum dan awal menjadi 512 megabyte. Sesuaikan nilai-nilai ini sesuai dengan kebutuhan spesifik Anda dan sumber daya sistem yang tersedia.

   ```
   export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
   ```

1. **Dapatkan informasi koneksi cluster Anda.**

   1. Buka konsol MSK Amazon di[https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

   1. Tunggu status klaster Anda menjadi **Aktif**. Ini mungkin memakan waktu beberapa menit. Setelah status menjadi **Aktif**, pilih nama cluster. Ini membawa Anda ke halaman yang berisi ringkasan cluster.

   1. Pilih **Lihat informasi klien**.

   1. Salin string koneksi untuk titik akhir pribadi.

      Anda akan mendapatkan tiga titik akhir untuk masing-masing broker. Simpan salah satu string koneksi ini dalam variabel lingkungan`BOOTSTRAP_SERVER`, seperti yang ditunjukkan pada perintah berikut. Ganti *<bootstrap-server-string>* dengan nilai sebenarnya dari string koneksi.

      ```
      export BOOTSTRAP_SERVER=<bootstrap-server-string>
      ```

1. **Jalankan perintah berikut untuk membuat topik.**

   ```
   $KAFKA_ROOT/bin/kafka-topics.sh --create --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties --replication-factor 3 --partitions 1 --topic MSKTutorialTopic
   ```

   Jika Anda mendapatkan `NoSuchFileException` untuk `client.properties` file tersebut, pastikan bahwa file ini ada di direktori kerja saat ini dalam direktori Kafka bin.
**catatan**  
Jika Anda memilih untuk tidak mengatur variabel `CLASSPATH` lingkungan untuk seluruh sesi Anda, Anda dapat mengawali setiap perintah Kafka dengan variabel. `CLASSPATH` Pendekatan ini menerapkan classpath hanya untuk perintah tertentu.  

   ```
   CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar \
   $KAFKA_ROOT/bin/kafka-topics.sh --create \
   --bootstrap-server $BOOTSTRAP_SERVER \
   --command-config $KAFKA_ROOT/config/client.properties \
   --replication-factor 3 \
   --partitions 1 \
   --topic MSKTutorialTopic
   ```

1. **(Opsional) Verifikasi bahwa topik telah berhasil dibuat.**

   1. Jika perintah berhasil, Anda akan melihat pesan berikut: `Created topic MSKTutorialTopic.`

   1. Buat daftar semua topik untuk mengonfirmasi bahwa topik Anda ada.

      ```
      $KAFKA_ROOT/bin/kafka-topics.sh --list --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties
      ```

   Jika perintah tidak berhasil atau Anda mengalami kesalahan, lihat [Memecahkan masalah klaster MSK Amazon Anda](troubleshooting.md) untuk informasi pemecahan masalah.

1. **(Opsional) Hapus variabel lingkungan yang Anda gunakan dalam tutorial ini.**

   Jika Anda ingin menyimpan variabel lingkungan Anda untuk langkah selanjutnya dalam tutorial ini, lewati langkah ini. Jika tidak, Anda dapat menghapus variabel ini, seperti yang ditunjukkan pada contoh berikut.

   ```
   unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS
   ```

**Langkah Selanjutnya**

[Langkah 5: Menghasilkan dan Mengkonsumsi Data](produce-consume.md)