Centos7.4安装Apache Kafka2.3.1

本教程假设您是从头开始的,并且没有现有的KafkaZooKeeper。 由于Kafka控制台脚本在基于Unix的平台和Windows平台上有所不同,因此在Windows平台上使用bin\windows\而不是bin /,并将脚本扩展名更改为.bat

1.下载Apache Kafka2.3.1

下载 2.3.1 release版本并使用tar命令解压。

tar -xzf kafka_2.12-2.3.1.tgz
cd kafka_2.12-2.3.1

2.启动服务

Kafka使用了ZooKeeper,因此如果您还没有启动Zookeeper服务,请先启动ZooKeeper服务。 您也可以使用kafka自带的脚本命令来快速启动一个单节点ZooKeeper实例。

[root@flink kafka_2.12-2.3.1]# bin/zookeeper-server-start.sh config/zookeeper.properties
[2019-11-13 13:31:01,854] INFO Reading configuration from: config/zookeeper.properties 
......
[2019-11-13 13:31:01,889] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)

接下来启动kafka服务

bin/kafka-server-start.sh config/server.properties
[2019-11-13 13:32:54,020] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2019-11-13 13:32:54,425] INFO Registered signal handlers for TERM, INT, HUP (org.apache.kafka.common.utils.LoggingSignalHandler)
......
[2019-11-13 13:32:55,800] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

ZookeeperKafka服务已经启动成功。

3.创建一个Topic

创建一个名为test的单分区和单副本的Topic

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

/kafka-topics.sh 是用来管理Topic的命令
参数:

  • create :创建Topic
  • bootstrap-server :kafka的服务broker地址
  • replication-factor:副本的个数
  • partitions 分区个数
  • topic:Topic的名字

现在,如果我们运行list命令,查看该broker中的Topic的列表:

[root@flink kafka_2.12-2.3.1]# bin/kafka-topics.sh --list --bootstrap-server localhost:9092
test

或者,除了手动创建Topic外,还可以将broker配置为在发布不存在的Topic 或者已删除的Topic时自动创建Topic。

auto.create.topics.enable=true

4.发送消息

Kafka自带有一个命令行客户端,它将从文件或标准输入中获取输入,并将其作为消息发送到Kafka集群。 默认情况下,每行将作为单独的消息发送。

运行生产者,然后在控制台中键入一些消息以发送到Kafka的broker上。

[root@flink kafka_2.12-2.3.1]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>fdasfafa
>lldlldld
>I
>Love
>You
>

5.消费消息

Kafka还有一个命令行消费者,它将消息转储到标准输出。

[root@flink kafka_2.12-2.3.1]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
fdasfafa
lldlldld
I
Love
You

上面的每个命令都在不同的终端上运行,现在我们可以能够在生产者终端中键入消息,并看到它们出现在消费者终端中。

注意:所有的命令行工具都有其他选项。 在不带参数的情况下运行该命令将显示用法信息,并对其进行详细使用方法。

到这里一个简单的单机的Kafka的broker已经搭建成功,后面我们会介绍Kafka集群的搭建。敬请期待。

发布了140 篇原创文章 · 获赞 278 · 访问量 81万+

猜你喜欢

转载自blog.csdn.net/u010046908/article/details/103047505
今日推荐