在CentOS上配置Kafka时,以下是一些关键步骤和技巧:
sudo yum install java-1.8.0-openjdk-devel
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz
cd apache-zookeeper-3.7.0
./bin/zookeeper-server-start.sh config/zookeeper.properties
tar
命令解压下载的Kafka压缩包。tar -xzvf kafka_2.13-2.6.1.tgz
/usr/local/kafka
。server.properties
文件:进入Kafka的config
目录,编辑server.properties
文件。以下是一些关键配置项:
broker.id
:每个Broker的唯一标识,通常设置为0。listeners
:监听的协议和地址,例如listeners=SASL_PLAINTEXT://your.host.name:9092
。security.inter.broker.protocol
: broker之间的安全协议,通常设置为SASL_PLAINTEXT
。log.dirs
:日志文件的存储目录,例如/home/kafka/kafka-logs
。zookeeper.connect
:Zookeeper的地址和端口,例如zookeeper.connect=192.168.0.1:2181
。sasl.enabled.mechanisms
:启用的认证机制,例如PLAIN
。auto.create.topics.enable
:是否允许自动创建Topic,建议设置为false
。num.network.threads
和num.io.threads
:网络线程和I/O线程的数量,可以根据需要调整。log.flush.interval.messages
和log.flush.interval.ms
:日志刷新间隔,可以根据需要调整。log.retention.hours
和log.retention.bytes
:日志保留时间和大小,可以根据存储需求调整。bin
目录下,使用以下命令启动Kafka服务:./kafka-server-start.sh ../config/server.properties
sudo vi /etc/rc.d/init.d/kafka
添加以下内容并赋予执行权限:#!/bin/bash
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
case "$1" in
start)
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
;;
stop)
/usr/local/kafka/bin/kafka-server-stop.sh
;;
status)
jps
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
然后注册为系统服务并设置为开机自启动:sudo chkconfig --add kafka
sudo chkconfig kafka on
./kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
kafka-console-producer.sh
和kafka-console-consumer.sh
命令进行消息发送和接收测试。./kafka-console-producer.sh --broker-list localhost:9092 --topic test
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
kafka_server_jaas.conf
文件,并在启动Kafka时指定该文件。if ["$KAFKA_OPTS"]; then
export KAFKA_OPTS="-Djava.security.auth.login.config=/home/kafka/kafka_2.13-2.6.1/config/kafka_server_jaas.conf"
fi
通过以上步骤和技巧,可以在CentOS上成功配置和运行Kafka。根据具体需求,可以进一步调整和优化配置参数。