在CentOS上配置Kafka涉及多个步骤,包括安装Java环境、Zookeeper(如果使用集群模式)、Kafka本身,以及相关的配置文件。以下是一个基本的指南,帮助你在CentOS 7上配置Kafka。
首先,确保你的系统上安装了Java。你可以使用以下命令来安装OpenJDK 11:
yum install java-11-openjdk-devel.x86_64
然后,配置环境变量:
echo "export JAVA_HOME=/usr/lib/jvm/jre-11-openjdk" >> /etc/profile
echo "export PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
source /etc/profile
Kafka依赖于Zookeeper。你可以按照以下步骤在CentOS上安装和配置Zookeeper 3.8.1:
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz
cd apache-zookeeper-3.8.1-bin
mkdir /data
mkdir /logs
echo "1" > /data/myid
cp conf/zoo.cfg /data/
编辑/data/zoo.cfg
文件:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data
dataLogDir=/logs
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
下载并解压Kafka:
wget https://downloads.apache.org/kafka/2.8.1/kafka_2.14-2.8.1.tgz
tar -zxvf kafka_2.14-2.8.1.tgz
cd kafka_2.14-2.8.1
创建Kafka目录:
mkdir /data
mkdir /logs
编辑Kafka的配置文件config/server.properties
:
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://your.server.ip:9092
zookeeper.connect=localhost:2181
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
socket.request.max.bytes=104857600
log.dirs=/data
num.partitions=1
num.recovery.threads.per.data.dir=1
log.flush.interval.messages=100
log.flush.interval.ms=1000
log.segment.bytes=1073741824
log.retention.hours=168
log.retention.check.interval.ms=300000
log.cleaner.min.compaction.lag.ms=50000
log.cleaner.max.compaction.lag.ms=900000
log.cleaner.min.compaction.lag.bytes=104857600
log.cleaner.max.compaction.lag.bytes=10737418240
log.cleaner.enable.delete.old.data=true
log.cleaner.enable.format.selection=true
log.cleaner.inter.broker.protocol.version=2.1-internal
message.max.bytes=1000000
replica.fetch.max.bytes=1000000
replica.fetch.wait.max.ms=100
replica.lag.time.max.ms=10000
replica.lag.max.messages=1000
启动Zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka:
bin/kafka-server-start.sh config/server.properties
你可以使用以下命令来验证Kafka是否正在运行:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
或者,使用Kafka控制台生产者发送消息:
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test
使用Kafka控制台消费者消费消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
以上步骤提供了一个基本的CentOS上配置Kafka的指南。根据你的需求,你可能需要进一步调整和优化配置。