: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**