欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux环境下安装配置kafka

程序员文章站 2022-06-14 09:42:17
...

准备

  • 下载zookeeper,我这里用的是zookeeper3.5.5版本。(这里提下,要下载带bin的文件,这个是已经编译好的,不带bin的是源码)
  • 下载kafka,我用的是2.12-2.4.0版本
  • Centos7系统,Jdk1.8版本

安装zookeeper

  1. 因为kafka是依赖于zookeeper的,所以要先安装zookeeper。首先在 /usr/local/目录下建立 zookeeper3.5.5的目录,将下载好的apache-zookeeper-3.5.5-bin.tar.gz放在新建的文件夹下面,然后执行解压命令
tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz
  1. 然后会生成一个apache-zookeeper-3.5.5-bin文件夹,cd <文件夹名> 进去,先 mkdir data 创建一个data的文件夹,然后再进入到conf文件夹下,复制 zoo_sample.cfg 为 zoo.cfg。cp zoo_sample.cfg zoo.cfg。然后再打开zoo.cfgvim zoo.cfg修改dataDir值为:(为你创建的data文件夹路径)
dataDir=/usr/local/zookeeper3.5.5/apache-zookeeper-3.5.5-bin/data
  1. 因为是单机zookeeper,所以不需要改动其他的。然后配置就完成了。下面我们进入bin目录下执行./zkServer.sh start命令。出现下面的就是启动成功了(这里有个坑,如果你上面下载的是名字不带bin的压缩包,这里会报启动失败的错误,排查日志后–无法加载主类的错误):
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper3.5.5/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

  1. 启动成功后我们再验证下,输入./zkServer.sh status 出现下面的“亚”子就算是成功了。
    (也可以输入 jps 命令查看是否有 QuorumPeerMain 的进程)
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper3.5.5/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: standalone

安装配置kafka

  1. 同上,在 /usr/local/目录下建立kafka2.12的文件夹,然后将下载好kafka_2.12-2.4.0.tgz放到kafka2.12的目录下面。执行解压命令
tar -zxvf kafka_2.12-2.4.0.tgz
  1. 进入生成的kafka_2.12-2.4.0目录。打开config文件夹。执行 vim server.properties 编辑命令。修改如下:ip地址+9092的端口
listeners=PLAINTEXT://192.168.192.129:9092   
advertised.listeners=PLAINTEXT://192.168.192.129:9092
  1. 因为配置的是单机的,所以只需要修改这两个地方。修改完以后返回进入到bin目录下面,执行./kafka-server-start.sh -daemon ../config/server.properties后台启动kafka。启动完后没有提示,可以输入 jps 看是否有kafka的进程来表示是否启动成功。
[root@localhost bin]# jps
34186 QuorumPeerMain
35275 Jps
[root@localhost bin]# 
  1. 当你的zookeeper和kafka都正常启动后,输入jps出现的将会是上面的样子。接下来我们就来启动一个生产者一个消费者来演示。
  2. 依旧在bin目录下,输入./kafka-topics.sh --create --zookeeper 192.168.192.129:2181 --replication-factor 1 --partitions 1 --topic hello (后面的hello是可以自定义,ip是你本机ip。端口是zookeeper默认端口号)。而后就可以开始启动生产者和消费者来测试了。
  3. 启动生产者:bin目录下执行./kafka-console-producer.sh --broker-list 192.168.192.129:9092 --topic hello。这里的hello要跟上面的一样。执行完后就可以生产消息了,写完一条就回车。
[root@localhost bin]# ./kafka-console-producer.sh --broker-list 192.168.192.129:9092 --topic hello
>我 在生产消息
>这 是第二条哦
>

  1. 启动消费者:另启一个窗口进入到bin目录下执行./kafka-console-consumer.sh --bootstrap-server 192.168.192.129:9092 --topic hello --from-beginning 执行完后刚刚就能收到你上面发出的消息
[root@localhost bin]# ./kafka-console-consumer.sh --bootstrap-server 192.168.192.129:9092 --topic hello --from-beginning

我在生产消息
这是第二条哦

至此,一个简单的kafka搭建过程就完成了。

总结

自己搭建kafka的一次简单总结。有很多地方都不懂!