运维

运维

Products

当前位置:首页 > 运维 >

如何配置Ubuntu Kafka提升吞吐量?

96SEO 2025-09-01 06:51 1


系统进入方式

系统是这样进去的:jexec focal chroot /compat/ubuntu /bin/bash ….

Ubuntu Kafka配置如何提高吞吐量

提高生产者吞吐量

2.数据可靠性

回顾数据的发送流程

2.1 回复应答级别

提高吞吐量

先说说确保系统上安装了Java运行环境。推荐使用OpenJDK 8或更高版本。

通过上述参数可以做可靠性、时延和吞吐量之间的权衡。目前提供三个取值, acks=0 表示发送消息后马上返回,不需要等待broker的确认;acks=1 表示消息被写入到主分区后broker需给予应答,此时并不保证已写入Kafka的复制分区,如果主分区挂掉,消息可能会丢失;acks=-1 是最严格的确认,必须等待所有分区都写入成功后才返回。

以异步发送的方式大大减少对磁盘的总写入次数,提高写入效率。

配置Kafka

sudo apt update
sudo apt install openjdk-8-jdk
java -version

下载并解压Zookeeper

sudo apt install openjdk-8-jdk
java -version
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/3.5.2/kafka_2.12.tgz
tar -xzvf kafka_2.12.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka

配置并启动Zookeeper

sudo cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
sudo vi /usr/local/zookeeper/conf/zoo.cfg
# 修改文件中的配置, 比方说:
tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181
sudo /usr/local/zookeeper/bin/zookeeper-server-start.sh /usr/local/zookeeper/conf/zoo.cfg &

下载并解压Kafka

sudo apt update
sudo apt install openjdk-8-jdk
java -version
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/3.5.2/kafka_2.12.tgz
tar -xzvf kafka_2.12.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka
sudo vi /usr/local/kafka/config/server.properties
# 修改文件中的配置,比方说:
listeners=PLAINTEXT://:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=localhost:2181

创建启动脚本kafka.sh

sudo vi /usr/local/kafka/bin/kafka.sh
#!/bin/bash
# Start Zookeeper
/usr/local/zookeeper/bin/zookeeper-server-start.sh /usr/local/zookeeper/conf/zoo.cfg &
sleep 3
# Start Kafka
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &

赋予脚本施行权限并启动Kafka

chmod +x /usr/local/kafka/bin/kafka.sh
/usr/local/kafka/bin/kafka.sh

提高吞吐量的优化策略

硬件配置优化

  • 使用SSD代替传统机械硬盘,以减少读写延迟。
  • 增加服务器的内存容量,以帮助Kafka更好地利用操作系统的页缓存。
  • 确保集群中的所有节点都连接到高速网络环境中。

Kafka参数调优

  • 调整broker配置
    • 内部多线程:在消费者内部使用多线程处理消息,提高效率。
  • 调整producer配置
    • batch.size:默认16k, 只有数据积累到batch.size之后sender才会发送数据。
    • linger.ms:等待时间,单位ms,默认是0ms。修改为5-100ms,会导致数据延迟。
    • compression.type:snappy 压缩
    • recordAccumulator:缓存区大小, 默认32m,修改为64m。

安装Kafka

sudo apt update
sudo apt install openjdk-8-jdk
java -version
wget https://www.apache.org/dyn/closer.cgi?path=/kafka/3.5.2/kafka_2.12.tgz
tar -xzvf kafka_2.12.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka

启动Kafka

sudo cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
sudo vi /usr/local/zookeeper/conf/zoo.cfg
# 修改文件中的配置, 比方说:
tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181
sudo /usr/local/zookeeper/bin/zookeeper-server-start.sh /usr/local/zookeeper/conf/zoo.cfg &
sudo vi /usr/local/kafka/config/server.properties
# 修改文件中的配置,比方说:
listeners=PLAINTEXT://:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=localhost:2181
sudo vi /usr/local/kafka/bin/kafka.sh
#!/bin/bash
# Start Zookeeper
/usr/local/zookeeper/bin/zookeeper-server-start.sh /usr/local/zookeeper/conf/zoo.cfg &
sleep 3
# Start Kafka
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
chmod +x /usr/local/kafka/bin/kafka.sh
/usr/local/kafka/bin/kafka.sh

环境中验证效果,避免影响生产环境稳定性。一边,因为Kafka版本的更新,建议关注官方文档和最新技术动态,以获取最新的优化建议和方法。


标签: ubuntu

提交需求或反馈

Demand feedback