Kafka安装配置(本文为在 linux 环境下安装配置Kafka)

  1. 在官网下载好kafka的安装包(linux和windows环境下都是同一个)
  2. 将文件直接上传到linux下的/opt/software/目录下(可以通过xftp或者直接拖拽)
  3. 解压到/opt/module/目录下:解压命令:tar -zxvf kafka_2.13-3.1.0.tgz -C /opt/module/ 解压并安装到指定的目录下
  4. 可以将文件名修改为kafka(也可以不进行修改) 命令:mv kafka_2.13-3.1.0/ kafka
  5. 接下来就是进行配置:先进入到 config 目录下,配置server.properties
    使用命令 vim server.properties进入到该配置文件
    1)broker.id=0是kafka集群身份的唯一标识,切记不能重复,这里不搭建集群,所以不用修改。

2)log.dirs=/tmp/kafka-logs 是kafka里面用于存储对应数据的地方

/tmp 是 linux 下的临时目录,会被定时清除,为了防止 kafka 里的数据被删除,需要修改该路径。这里修改为 log.dirs=/opt/module/kafka/datas 方便以后的管理。

kafka linux版本 kafka linux安装_kafka linux版本

3)zookeeper.cnotallow=localhost:2128 这里用于单机部署。

4)host.name=外网ip

5)listeners=PLAINTEXT://kafka所在服务器的内网ip:9092

6)advertised.listeners=PLAINTEXT://kafka所在服务器的外网ip地址:9092

7)

kafka linux版本 kafka linux安装_kafka_02

  1. 配置环境变量
    命令:sudo vim /etc/profile.d/my_env.sh,添加以下配置
  2. 启动kafka,启动之前必须先启动zookeeper(kafka的运行需要Java环境)

启动Kafka

  1. 启动 kafka 之前要先启动 zookeeper , 启动命令如下:(先进入到kafka安装目录下)
    /opt/module/zookeeper-3.7.0/bin/zkServer.sh start
  2. 启动 kafka , 命令如下:(也是先进入到kfka安装目录下)
    bin/kafka-server-start.sh config/server.properties
    进入kakfa目录执行启动脚本:后台模式启动(推荐使用后台启动)
    bin/kafka-server-start.sh -daemon config/server.properties
  3. 启动Kafka Broker后,在ZooKeeper终端上键入命令 jps,效果如下:
    出现 QuorumPeerMain 表示 Zookeeper 已经启动,出现 Kafka 表示 Kafka已经启动。
  4. 停止 Kafka ,命令如下:
    bin/kafka-server-stop.sh config/server.properties
  5. 停止 Zookeeper ,命令如下:
    /opt/module/zookeeper-3.7.0/bin/zkServer.sh stop
  6. 切记:一定要先关闭 Kafka 后再关闭 Zookeeper

下面是我使用 Kafka 的时候遇到的坑:

  1. Kafka不能正确启动
    这里可能是 server.properties 配置文件没有配置好
  2. 我在 SpringBoot 集成了 Kafka ,并配置好 application.properties 后,运行项目,结果项目出了问题,我查看打印的日志信息,说是error connecting … node ,我感觉可能是 server.properties 文件中某个地方没有配置好,在网上参考了别人的 server.properties 的配置后,才知道可能是 节点需要绑定的主机名称 没有设置。
    下面是我在 Socket Server Settings 新增的配置
    listeners=PLAINTEXT:172…(内网ip)//:9092
    advertised.listeners=PLAINTEXT://59…(外网ip):9092
    后面 IDEA 的控制台终于不报错了。
  3. 结果新的问题就来了,控制台开始一直打印 Kafka 的日志信息
    解决方案是:在日志的配置文件logbackXXX.xml中增加以下配置
<logger name="org.apache.kafka.clients.consumer.internals.ConsumerCoordinator" level="OFF"/>

如有不足,还请大家指正。