在Linux上高效配置Apache Kafka涉及多个步骤,包括环境准备、软件安装、配置文件修改、服务启动以及性能优化。以下是一个详细的指南:
tar -xzf命令解压下载的压缩包到你选择的目录,例如 /opt/kafka。在 /etc/profile 或用户的环境变量文件中添加Kafka的安装目录和命令文件所在目录。
创建数据和日志目录:
mkdir -p /usr/local/kafka/zookeeper/data
mkdir -p /usr/local/kafka/zookeeper/log
编辑 zookeeper.properties 文件:
vi /usr/local/kafka/config/zookeeper.properties
修改以下参数:
dataDir=/usr/local/kafka/zookeeper/data
dataLogDir=/usr/local/kafka/zookeeper/log
clientPort=2181
maxClientCnxns=0
tickTime=2000
initLimit=10
syncLimit=5
编辑 server.properties 文件:
vi /usr/local/kafka/config/server.properties
修改以下关键配置项:
broker.id=1
listeners=PLAINTEXT://10.153.204.28:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/vfan/kfk/logs
zookeeper.connect=10.61.194.34:2181
启动Zookeeper服务:
bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka服务:
bin/kafka-server-start.sh config/server.properties
验证安装:
创建一个测试主题:
./kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
使用生产者发送消息到主题:
./kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
使用消费者从主题接收消息:
./kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning
num.network.threads 和 num.io.threads 参数来优化网络和IO处理能力。socket.send.buffer.bytes 和 socket.receive.buffer.bytes 来增加网络数据传输的效率。socket.request.max.bytes 以控制单个请求的最大允许大小,防止系统过载。ulimit -n 65536),更改TCP参数如 net.core.somaxconn 和 net.ipv4.tcp_max_syn_backlog 以提高网络性能。在进行任何配置更改之前,建议先在测试环境中验证其效果,以确保不会对生产环境造成不良影响。