$ sudo apt update
[sudo] password for kafka:
kafka@kafkaubuntu2004:~$ sudo apt install default-jdk
Reading package lists... Done
Building dependency tree
kafka@kafkaubuntu2004:~$ java --version
openjdk 11.0.21 2023-10-17
OpenJDK Runtime Environment (build 11.0.21+9-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.21+9-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
kafka@kafkaubuntu2004:~$ mkdir ~/kafka && cd ~/kafka
kafka@kafkaubuntu2004:~/kafka$ tar -xvzf ~/Downloads/kafka.tgz --strip 1
kafka_2.12-3.4.1/LICENSE
kafka_2.12-3.4.1/NOTICE
kafka@kafkaubuntu2004:~/kafka$ vi ~/kafka/config/server.properties
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ pwd
/home/kafka/kafka
kafka@kafkaubuntu2004:~/kafka$ sudo vi /etc/systemd/system/zookeeper.service
kafka@kafkaubuntu2004:~/kafka$ sudo nano /etc/systemd/system/kafka.service
kafka@kafkaubuntu2004:~/kafka$ sudo vi /etc/systemd/system/kafka.service
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ sudo systemctl start kafka
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ sudo systemctl status kafka
● kafka.service
Loaded: loaded (/etc/systemd/system/kafka.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2023-12-13 00:04:33 UTC; 8s ago
Main PID: 17310 (sh)
Tasks: 72 (limit: 19173)
Memory: 341.5M
CGroup: /system.slice/kafka.service
├─17310 /bin/sh -c /home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.>
└─17311 java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccup>
Dec 13 00:04:33 kafkaubuntu2004 systemd[1]: Started kafka.service.
...skipping...
● kafka.service
Loaded: loaded (/etc/systemd/system/kafka.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2023-12-13 00:04:33 UTC; 8s ago
Main PID: 17310 (sh)
Tasks: 72 (limit: 19173)
Memory: 341.5M
CGroup: /system.slice/kafka.service
├─17310 /bin/sh -c /home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.>
└─17311 java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccup>
Dec 13 00:04:33 kafkaubuntu2004 systemd[1]: Started kafka.service.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ sudo systemctl enable zookeeper
Created symlink /etc/systemd/system/multi-user.target.wants/zookeeper.service → /etc/systemd/system/zookeeper.service.
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ sudo systemctl enable kafka
Created symlink /etc/systemd/system/multi-user.target.wants/kafka.service → /etc/systemd/system/kafka.service.
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TutorialTopic
Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
at joptsimple.OptionParser.parse(OptionParser.java:396)
at kafka.admin.TopicCommand$TopicCommandOptions.<init>(TopicCommand.scala:567)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
kafka@kafkaubuntu2004:~/kafka$ cat ~/kafka/bin/kafka-topics.sh
#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
exec $(dirname $0)/kafka-run-class.sh kafka.admin.TopicCommand "$@"
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TutorialTopic
Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
at joptsimple.OptionParser.parse(OptionParser.java:396)
at kafka.admin.TopicCommand$TopicCommandOptions.<init>(TopicCommand.scala:567)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
kafka@kafkaubuntu2004:~/kafka$ ./kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 4
-bash: ./kafka-topics.sh: No such file or directory
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 4
Created topic test-topic.
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --topic TutorialTopi^Cbootstrap-server localhost:9092 --replication-factor 1 --partitions 4
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic Tut^C
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic TutorialTopic
Exception in thread "main" java.lang.IllegalArgumentException: --bootstrap-server must be specified
at kafka.admin.TopicCommand$TopicCommandOptions.checkArgs(TopicCommand.scala:619)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:48)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --topic test-topic ^Creplication-factor 1 --partitions 1 --topic TutorialTopic
kafka@kafkaubuntu2004:~/kafka$
kafka@kafkaubuntu2004:~/kafka$ ./kafka-topics.sh --create --topic TutorialTopic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
-bash: ./kafka-topics.sh: No such file or directory
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-topics.sh --create --topic TutorialTopic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
Created topic TutorialTopic.
kafka@kafkaubuntu2004:~/kafka$ echo "Hello, World" | ~/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TutorialTopic > /dev/null
kafka@kafkaubuntu2004:~/kafka$ ~/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TutorialTopic --from-beginning
Hello, World
Hello World from Sammy at DigitalOcean!
kafka@kafkaubuntu2004:~$ history
1 mkdir ~/Downloads
2 curl "https://downloads.apache.org/kafka/3.4.1/kafka_2.12-3.4.1.tgz" -o ~/Downloads/kafka.tgz
3 sudo apt update
4 java --version
5 sudo apt install default-jdk
6 java --version
7 mkdir ~/kafka && cd ~/kafka
8 tar -xvzf ~/Downloads/kafka.tgz --strip 1
9 vi ~/kafka/config/server.properties
10 pwd
11 sudo vi /etc/systemd/system/zookeeper.service
12 sudo nano /etc/systemd/system/kafka.service
13 sudo vi /etc/systemd/system/kafka.service
14 sudo systemctl start kafka
15 sudo systemctl status kafka
16 sudo systemctl enable zookeeper
17 sudo systemctl enable kafka
18 ~/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TutorialTopic
19 cat ~/kafka/bin/kafka-topics.sh
20 ~/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TutorialTopic
21 ./kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 4
22 ~/kafka/bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 4
23 ~/kafka/bin/kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic TutorialTopic
24 ./kafka-topics.sh --create --topic TutorialTopic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
25 ~/kafka/bin/kafka-topics.sh --create --topic TutorialTopic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
26 echo "Hello, World" | ~/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TutorialTopic > /dev/null
27 ~/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TutorialTopic --from-beginning
28 history
kafka@kafkaubuntu2004:~$ kafkat
kafkat 0.3.0: Simplified command-line administration for Kafka brokers
usage: kafkat [command] [options]
Here's a list of supported commands:
brokers Print available brokers from Zookeeper.
clean-indexes Delete untruncated Kafka log indexes from the filesystem.
cluster-restart help Determine the server restart sequence for kafka
controller Print the current controller.
drain <broker id> [--topic <t>] [--brokers <ids>] Reassign partitions from a specific broker to destination brokers.
elect-leaders [topic] Begin election of the preferred leaders.
partitions [topic] Print partitions by topic.
partitions [topic] --under-replicated Print partitions by topic (only under-replicated).
partitions [topic] --unavailable Print partitions by topic (only unavailable).
reassign [topics] [--brokers <ids>] [--replicas <n>] Begin reassignment of partitions.
resign-rewrite <broker id> Forcibly rewrite leaderships to exclude a broker.
resign-rewrite <broker id> --force Same as above but proceed if there are no available ISRs.
set-replication-factor [topic] [--newrf <n>] [--brokers id[,id]] Set the replication factor of
shutdown <broker id> Gracefully remove leaderships from a broker (requires JMX).
topics Print all topics.
verify-replicas [--topics] [--broker <id>] [--print-details] [--print-summary]Check if all partitions in a topic have same number of replicas.
kafka@kafkaubuntu2004:~$ kafkat topics
TutorialTopic
test-topic
__consumer_offsets
kafka@kafkaubuntu2004:~$ kafkat brokers
Broker Socket
0 kafkaubuntu2004.us-west1-a.c.timebase-ts.internal:9092
kafka@kafkaubuntu2004:~$
kafka@kafkaubuntu2004:~$ kafkat controller
The current controller is '0' (kafkaubuntu2004.us-west1-a.c.timebase-ts.internal:9092).
kafka@kafkaubuntu2004:~$ kafkat partitions TutorialTopic
Topic Partition Leader Replicas ISRs
TutorialTopic 0 0 [0] [0]
kafka@kafkaubuntu2004:~$ kafkat partitions test-topic
Topic Partition Leader Replicas ISRs
test-topic 0 0 [0] [0]
test-topic 1 0 [0] [0]
test-topic 2 0 [0] [0]
test-topic 3 0 [0] [0]
kafka@kafkaubuntu2004:~$