Kafka下载
官网下载地址
http://kafka.apache.org/downloads
demo用的版本
https://archive.apache.org/dist/kafka/1.0.0/kafka_2.12-1.0.0.tgz
解压到安装目录下
tar -zxvf kafka_2.12-1.0.0.tgz
mv kafka_2.12-1 /usr/local/kafka
配置
#创建日志存放目录,默认Kafka运行的时候都会通过log4j打印很多日志文件,比如server.log, controller.log, state-change.log等,而都会将其输出到$KAFKA_HOME/logs目录下,这样不利于线上运维,因为经常容易出现打爆文件系统
#这里我们把日志目录指向var目录下
cd /var/local
mkdir -p kafka-logs
#修改配置文件/opt/kafka/config/server.properties
vi /usr/local/kafka/config/server.properties
#主要修改下面几项内容如下:
broker.id=181
delete.topic.enable=true
listeners = PLAINTEXT://192.168.0.166:9092
log.dirs=/var/local/kafka-logs
zookeeper.connect=127.0.0.1:2181
添加系统环境变量
vi /etc/profile
#添加如下内容:
KAFKA_HOME=/usr/local/kafka
PATH=$PATH:$KAFKA_HOME/bin
export PATH KAFKA_HOME
启动、测试
kafka-server-start.sh /usr/local/kafka/config/server.properties
#发送
./kafka-console-producer.sh --broker-list 192.168.0.166:9092 --topic test1
#接收
./kafka-console-consumer.sh --zookeeper 192.168.0.166:2181 -topic test1 --from-beginning
开机启动
#在init.d目下创建kafka脚本文件
cd /etc/rc.d/init.d
touch kafka
vi kafka
#编辑下面内容
#!/bin/bash
#chkconfig:2345 30 80
#description:kafka
#processname:kafka
export JAVA_HOME=/usr/local/jvm/jdk1.8.0_201
export KAFKA_HOME=/usr/local/kafka
case $1 in
start)
${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties
;;
stop)
${KAFKA_HOME}/bin/kafka-server-stop.sh
;;
status)
jps
;;
restart)
${KAFKA_HOME}/bin/kafka-server-stop.sh
${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties
;;
*)
echo "require start|stop|status|restart"
;;
esac
#权限
chmod 755 kafka
#测试一下
service kafka start
#添加到服务列表
chkconfig --add kafka
chkconfig --list
chkconfig kafka on
遇到的坑
Kafka进程总是在启动一段时间后自动停止
使用-daemon守护进程启动
kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties