在Ubuntu环境中配置Apache Kafka,可以按照以下步骤进行:
Kafka需要Java运行时环境(JRE)或Java开发工具包(JDK)。建议安装JDK。
sudo apt update
sudo apt install openjdk-11-jdk
验证安装:
java -version
从Apache Kafka官方网站下载最新版本的Kafka,并解压到指定目录。
wget https://downloads.apache.org/kafka/3.5.0/kafka_2.13-3.5.0.tgz
tar -xzf kafka_2.13-3.5.0.tgz
sudo mv kafka_2.13-3.5.0 /opt/kafka
进入Kafka目录并进行基本配置。
cd /opt/kafka
编辑config/server.properties文件,进行以下基本配置:
# Broker ID
broker.id=0
# List of directories to store log segments
log.dirs=/tmp/kafka-logs
# Zookeeper connection string
zookeeper.connect=localhost:2181
# List of Zookeeper connections
zookeeper.connection.timeout.ms=18000
# Number of I/O threads
num.io.threads=8
# Number of network threads
num.network.threads=6
# Socket send buffer bytes
socket.send.buffer.bytes=102400
# Socket receive buffer bytes
socket.receive.buffer.bytes=102400
# Socket request max bytes
socket.request.max.bytes=104857600
# Log flush interval messages
log.flush.interval.messages=10000
# Log flush interval ms
log.flush.interval.ms=1000
# Log segment bytes
log.segment.bytes=1073741824
# Log retention hours
log.retention.hours=168
# Log retention check interval ms
log.retention.check.interval.ms=300000
# Zookeeper session timeout ms
zookeeper.session.timeout.ms=18000
# Group initial rebalance delay ms
group.initial.rebalance.delay.ms=0
编辑config/zookeeper.properties文件,进行以下基本配置:
# The directory where the snapshot and log data will be stored.
dataDir=/tmp/zookeeper
# The port at which the clients will connect.
clientPort=2181
# Maximum number of client connections. Increase this if you expect many clients to connect to the server.
maxClientCnxns=0
# Control the maximum number of simultaneous sessions that can be opened by a single user.
# This is to prevent a single user from consuming excessive resources.
maxClientCnxnsPerUser=60
# Automatic session expiry time (in seconds) when sessions are not active.
session.timeout.ms=18000
# Sync limit is the amount of time to allow data to be sent to the followers before the
# leader considers the follower fully synchronized.
sync.limit.ms=6000
# The tickTime is the length of a single tick, which represents the basic time unit
# used in the coordination of the server.
tickTime=2000
# The minimum number of ticks that the initial synchronization phase can take.
initLimit=10
# The maximum number of ticks that the followers can lag behind the leader before
# the leader decides to remove them from the group.
syncLimit=5
# Leader election timeout in milliseconds.
electionAlg=org.apache.zookeeper.election.LeaderElectionAlgorithm
# Leader election timeout in milliseconds.
electionAlg=org.apache.zookeeper.election.LeaderElectionAlgorithm
# Leader election timeout in milliseconds.
electionAlg=org.apache.zafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=org.apache.kafka.common.network.Selector
# Leader election timeout in milliseconds.
electionAlg=