当前位置: 首页 > news >正文

Kafka 面试,java实战贴

面试问题列表

Kafka的ISR机制是什么?如何保证数据一致性?
如何实现Kafka的Exactly-Once语义?
Kafka的Rebalance机制可能引发什么问题?如何优化?
Kafka的Topic分区数如何合理设置?
如何设计Kafka的高可用跨机房容灾方案?
Kafka Producer的acks参数对消息可靠性有何影响?
Kafka Consumer的auto.offset.reset参数有哪些配置?适用场景?
如何监控Kafka的Lag(消费延迟)?
Kafka的Log Compaction原理是什么?
如何解决Kafka集群中Broker磁盘IO瓶颈?
Kafka与RocketMQ在事务消息实现上的区别是什么?

实战准备

这是国内网络环境下安装最新稳定版Kafka和Zookeeper的完整指南(基于Kafka 3.7.0):

  1. 使用国内镜像源下载Kafka:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.7.0/kafka_2.13-3.7.0.tgz
  1. 安装Java环境:
sudo apt update
sudo apt install openjdk-17-jdk -y
  1. 解压安装(使用/opt目录):
tar -xzf kafka_2.13-3.7.0.tgz
sudo mv kafka_2.13-3.7.0 /opt/kafka
  1. 配置Zookeeper(编辑配置文件):
sudo nano /opt/kafka/config/zookeeper.properties

修改以下配置:

dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=60
  1. 配置Kafka(编辑配置文件):
sudo nano /opt/kafka/config/server.properties

修改以下关键配置:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://your_server_ip:9092
log.dirs=/var/lib/kafka
zookeeper.connect=localhost:2181
  1. 创建服务管理脚本(替代systemd方案):
    创建启动脚本:
sudo nano /opt/kafka/start_services.sh

内容:

#!/bin/bash
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties > /var/log/zookeeper.log 2>&1 &
sleep 5
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties > /var/log/kafka.log 2>&1 &
  1. 设置文件权限:
sudo chmod +x /opt/kafka/start_services.sh
sudo mkdir -p /var/lib/{zookeeper,kafka}
sudo chown -R $USER:$USER /var/lib/{zookeeper,kafka}
  1. 启动服务:
cd /opt/kafka && ./start_services.sh
  1. 验证安装:
# 查看Zookeeper日志
tail -f /var/log/zookeeper.log# 创建测试主题
/opt/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1# 列出主题
/opt/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
http://www.xdnf.cn/news/87985.html

相关文章:

  • Java中常见API的分类概述及示例
  • Spark集群搭建-spark-local
  • [Java · 铢积寸累] 数据结构 — 数组类型 - Arrays 工具类详解
  • 文献分享:不同抗体表位作图技术比较
  • 《计算机视觉度量:从特征描述到深度学习》—深度学习图像特征工程
  • 动态加载内容时selenium如何操作?
  • Kubernetes相关的名词解释etcdctl(20)
  • 鸿蒙移动应用开发--渲染控制实验
  • 【MCP Node.js SDK 全栈进阶指南】初级篇(2):MCP基础服务器开发
  • Python3中使用jupyter notebook
  • Vue2 el-checkbox 虚拟滚动解决多选框全选卡顿问题 - 高性能处理大数据量选项列表
  • 高性能服务器配置经验指南1——刚配置好服务器应该做哪些事
  • 字符串全排列(Java版本自己用)
  • SpringBoot3集成MyBatis-Plus(解决Boot2升级Boot3)
  • MQ底层原理
  • AI代表企业签订的合同是否具有法律效力?
  • 第一章-语言基础\2.竞赛常用库函数\其他库函数
  • AXOP33552: 400MHz 高速双通道运算放大器
  • 《AI大模型应知应会100篇》 第33篇:大模型在法律文档处理中的应用
  • 第T9周:猫狗识别2
  • MySQL中根据binlog日志进行恢复
  • SAS宏调试:高效定位与解决典型问题
  • 德施曼重磅发布五大突破性技术及多款重磅新品,开启AI智能管家时代
  • 使用 rebase 轻松管理主干分支
  • 【Linux】静态库 动态库
  • ZLG嵌入式笔记 | 拯救NAND/eMMC:延长闪存寿命
  • OpenCv高阶(七)——图像拼接
  • 高级java每日一道面试题-2025年4月22日-基础篇[反射篇]-如何通过反射创建一个对象实例?
  • Redi的常见场景
  • Agent框架LangGraph:实现一个简单的Plan-and-Execute Agent