第四周_S- 搭建 kafka 单机测试环境

170 阅读2分钟

闲来无事,咳咳,学习,一切为了学习。

先搭建一个 Kafka 单机版的测试学习环境。

前提

Kafka 安装需要 JDK 和 Zookeeper 的支持。

安装 JDK

这玩意就不说了,Java 开发拿到新电脑,必须首先安装的就是这玩意

安装 Zookeeper

高版本的 Kafka 会内置提供一个 Zookeeper ,不过我这里重新单独安装了一个。

官网下载压缩包:zookeeper-3.4.14.tar.gz

  • 指定目录解压
  • vi conf/zoo.cfg (也可将默认的 zoo_sample.cfg 改名为 zoo.cfg)
    • zoo.cfg 配置文件属性
tickTime = 2000
dataDir = /path/to/zookeeper/data
clientPort = 2181
initLimit = 5
syncLimit = 2
  • 启动 zk
bin/zkServer.sh start
  • 关闭 zk
bin/zkServer.sh stop

查看是否启动成功:jps

出现 QuorumPeerMain 进程,表示 zk 启动成功。

安装 Kafka

下载压缩包:kafka_2.12-3.1.0.tgz

  • 修改 config 下的 server.properties
listeners=PLAINTEXT://:9092 # 直接放开
advertised.listeners=PLAINTEXT://47.101.192.228:9092 # 放开并且修改为主机ip
log.dirs=/opt/kafka/kafka_2.12/log #修改日志存放路径
  • 启动
2.启动 kafka :bin/kafka-server-start.sh -daemon config/server.properties  后台启动

如果出现内存不足的情况:

修改 bin/kafka-server-start.sh 文件:将内存改小

export KAFKA_HEAP_OPTS="-Xmx256m -Xms256m"

此时输入:jps 发现 Kafka 也启动好了。

测试

创建 Topic

# 老的命令 --zookeeper :已经过时,启动会报错。
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TestTopic
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)

# 使用新命令创建
bin/kafka-topics.sh --create --topic topictest --bootstrap-server localhost:9092

查看 Topic

查看已有的 topic:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

发送消息

bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic topictest

此时出现:

输入一次,回车,可以再次输入;知道 ctrl + c 终止本次的脚本命令

获取消息

bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic topictest --from-beginning

则会打印刚刚输入的消息

总结

到此,我们的 Kafka 单机环境就搭建好了。

基本操作步骤如下,不多,但需要仔细:

  • 下载压缩包,解压
  • 修改配置文件
  • 启动
  • 测试