kafka单机安装

[复制链接]
发表于 2023-2-10 16:20:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、安装

kafka是由scala语言写成的,后面用Java重构了,但是不管怎样,都要编译到jvm虚拟机中执行。
  1. centos:yum install java-11-openjdk
  2. ubuntu:apt install default-jdk
  3. java -version
复制代码
下载kafka
  1. 下载
  2. wget  https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
  3. 解压
  4. tar -zxvf kafka_2.11-2.2.0.tgz
  5. cd kafka_2.11-2.2.0
复制代码
简单配置下
  1. vim  config/server.properties
  2. #broker 的全局唯一编号,不能重复
  3. broker.id=0
  4. #能否删除 topic
  5. delete.topic.enable=true
  6. #处理网络请求的线程数量
  7. num.network.threads=3
  8. #用来处理磁盘 IO 的现成数量
  9. num.io.threads=8
  10. #发送套接字的缓冲区大小
  11. socket.send.buffer.bytes=102400
  12. #接收套接字的缓冲区大小
  13. socket.receive.buffer.bytes=102400
  14. #请求套接字的缓冲区大小
  15. socket.request.max.bytes=104857600
  16. #kafka 运行日志日志存放的路径
  17. log.dirs=/opt/module/kafka/logs
  18. #topic 在当前 broker 上的分区个数
  19. num.partitions=1
  20. #用来恢复和清理 data 下数据的线程数量
  21. num.recovery.threads.per.data.dir=1
  22. #segment 文件保留的最长时间,超时将被删除
  23. log.retention.hours=168
复制代码
二、启动

建议使用screen,开两个
  1. 启动zk【默认端口2181】
  2. bin/zookeeper-server-start.sh config/zookeeper.properties
  3. 启动Kafka
  4. bin/kafka-server-start.sh config/server.properties
复制代码
三、测试使用
  1. #创建单分区单副本的 topic demo:
  2. bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic demo
  3. #查看 topic 列表:
  4. bin/kafka-topics.sh --list --zookeeper localhost:2181
  5. #发送消息【生产者】
  6. bin/kafka-console-producer.sh --broker-list localhost:9092 --topic demo
  7. #接收消息并在终端打印:
  8. bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo --from-beginning
  9. #查看描述 topics 信息
  10. bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic demo
  11. Topic:demo      PartitionCount:1        ReplicationFactor:1     Configs:
  12.         Topic: demo     Partition: 0    Leader: 1       Replicas: 1     Isr: 1
  13. 第一行给出了所有分区的摘要,每个附加行给出了关于一个分区的信息。 由于我们只有一个分区,所以只有一行。
  14. “Leader”: 是负责给定分区的所有读取和写入的节点。
  15. “Replicas”: 是复制此分区日志日志的节点列表,无论它们是否是领导者,或者即使他们当前处于活动状态。
  16. “Isr”: 是一组“同步”副本。这是复制品列表的子集,当前活着并被引导到领导者
复制代码
四、集群配置

Kafka 支持两种模式的集群搭建:可以在单机上运行多个 broker 实例来实现集群,也可在多台机器上搭建集群,下面介绍下如何实现单机多 broker 实例集群,其实很简单,只需要如下配置即可。
单机多broker 集群配置利用单节点部署多个 broker。 不同的 broker 设置不同的 id,监听端口及日志日志目录。 例如:
  1. cp config/server.properties config/server-2.properties
  2. cp config/server.properties config/server-3.properties
  3. vim config/server-2.properties
  4. vim config/server-3.properties
复制代码
修改 :
  1. broker.id=2
  2. listeners = PLAINTEXT://your.host.name:9093
  3. log.dir=/data/kafka/logs-2
复制代码
和
  1. broker.id=3
  2. listeners = PLAINTEXT://your.host.name:9094
  3. log.dir=/data/kafka/logs-3
复制代码
启动Kafka服务:(也可以用screen)
  1. bin/kafka-server-start.sh config/server-2.properties &
  2. bin/kafka-server-start.sh config/server-3.properties &
复制代码
至此,单机多broker实例的集群配置完毕。
多机多broker集群配置

分别在多个节点按上述方式安装 Kafka,配置启动多个 Zookeeper 实例。
假设三台机器 IP 地址是 : 192.168.153.135, 192.168.153.136, 192.168.153.137
分别配置多个机器上的 Kafka 服务,设置不同的 broker id,zookeeper.connect 设置如下:
  1. vim config/server.properties
复制代码
里面的 zookeeper.connect
修改为:
  1. zookeeper.connect=192.168.153.135:2181,192.168.153.136:2181,192.168.153.137:2181
复制代码
五、配置

外网访问
  1. 配置:server.properties
  2. 修改成内网地址
  3. listeners=PLAINTEXT://:9092
  4. 改成外网地址
  5. advertised.listeners=PLAINTEXT://主机IP:9092
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表