:original_name: mrs_01_1031.html .. _mrs_01_1031: Using Kafka from Scratch ======================== Scenario -------- You can create, query, and delete topics on a cluster client. Prerequisites ------------- The client has been installed. For example, the client is installed in the **/opt/hadoopclient** directory. The client directory in the following operations is only an example. Change it to the actual installation directory. Using the Kafka Client (Versions Earlier Than MRS 3.x) ------------------------------------------------------ #. Access the ZooKeeper instance page. - For versions earlier than MRS 1.9.2, log in to MRS Manager and choose **Services** > **ZooKeeper** > **Instance**. - For MRS 1.9.2 or later to versions earlier than 3.x, click the cluster name on the MRS console and choose **Components** > **ZooKeeper** > **Instances**. .. note:: If the **Components** tab is unavailable, complete IAM user synchronization first. (On the **Dashboard** page, click **Synchronize** on the right side of **IAM User Sync** to synchronize IAM users.) #. View the IP addresses of the ZooKeeper role instance. Record any IP address of the ZooKeeper instance. #. Log in to the node where the client is installed. #. Run the following command to switch to the client directory, for example, **/opt/hadoopclient/Kafka/kafka/bin**. **cd /opt/hadoopclient/Kafka/kafka/bin** #. Run the following command to configure environment variables: **source /opt/hadoopclient/bigdata_env** #. If Kerberos authentication is enabled for the current cluster, run the following command to authenticate the current user. If Kerberos authentication is disabled for the current cluster, skip this step. **kinit** *Kafka user* #. .. _mrs_01_1031__li1147589014556: Create a topic. **sh kafka-topics.sh --create --topic** *Topic name* **--partitions** *Number of partitions occupied by the topic* **--replication-factor** *Number of replicas of the topic* **--zookeeper** *IP address of the node where the ZooKeeper instance resides\ *\ **:**\ *\ clientPort*\ **/kafka** Example: **sh kafka-topics.sh --create --topic** **TopicTest** **--partitions** **3** **--replication-factor** **3** **--zookeeper** **10.10.10.100:2181/kafka** #. Run the following command to view the topic information in the cluster: **sh kafka-topics.sh --list --zookeeper** *IP address of the node where the ZooKeeper instance resides\ *\ **:**\ *\ clientPort*\ **/kafka** Example: **sh kafka-topics.sh --list --zookeeper** **10.10.10.100:2181/kafka** #. Delete the topic created in :ref:`7 `. **sh kafka-topics.sh --delete --topic** *Topic name* **--zookeeper** *IP address of the node where the ZooKeeper instance resides*:*clientPort*\ **/kafka** Example: **sh kafka-topics.sh --delete --topic** **TopicTest** **--zookeeper** **10.10.10.100:2181/kafka** Type **y** and press **Enter**. Using the Kafka Client (MRS 3.x or Later) ----------------------------------------- #. Access the ZooKeeper instance page. Log in to FusionInsight Manager. For details, see :ref:`Accessing FusionInsight Manager (MRS 3.x or Later) `. Choose **Cluster** > *Name of the desired cluster* > **Services** > **ZooKeeper** > **Instance**. #. View the IP addresses of the ZooKeeper role instance. Record any IP address of the ZooKeeper instance. #. Log in to the node where the client is installed. #. Run the following command to switch to the client directory, for example, **/opt/hadoopclient/Kafka/kafka/bin**. **cd /opt/hadoopclient/Kafka/kafka/bin** #. Run the following command to configure environment variables: **source /opt/hadoopclient/bigdata_env** #. If Kerberos authentication is enabled for the current cluster, run the following command to authenticate the current user. If Kerberos authentication is disabled for the current cluster, skip this step. **kinit** *Kafka user* #. Log in to FusionInsight Manager, choose **Cluster** > **Name of the desired cluster** > **Services** > **ZooKeeper**, and click the **Configurations** tab and then **All Configurations**. On the displayed page, search for the **clientPort** parameter and record its value. #. .. _mrs_01_1031__li4808125415465: Create a topic. **sh kafka-topics.sh --create --topic** *Topic name* **--partitions** *Number of partitions occupied by the topic* **--replication-factor** *Number of replicas of the topic* **--zookeeper** *IP address of the node where the ZooKeeper instance resides\ *\ **:**\ *\ clientPort*\ **/kafka** Example: **sh kafka-topics.sh --create --topic** **TopicTest** **--partitions** **3** **--replication-factor** **3** **--zookeeper** **10.10.10.100:2181/kafka** #. Run the following command to view the topic information in the cluster: **sh kafka-topics.sh --list --zookeeper** *IP address of the node where the ZooKeeper instance resides\ *\ **:**\ *\ clientPort*\ **/kafka** Example: **sh kafka-topics.sh --list --zookeeper** **10.10.10.100:2181/kafka** #. Delete the topic created in :ref:`8 `. **sh kafka-topics.sh --delete --topic** *Topic name* **--zookeeper** *IP address of the node where the ZooKeeper instance resides*:*clientPort*\ **/kafka** Example: **sh kafka-topics.sh --delete --topic** **TopicTest** **--zookeeper** **10.10.10.100:2181/kafka**