官网下载安装包
http://kafka.apache.org/
拷贝到linux,进行解压
sudo tar -zxf /home/gandi/bin/share/kafka_2.11-2.3.0.tgz -C /usr/local/
cd /usr/local
sudo mv ./kafka_2.11-2.3.0.tgz/ ./kafka
sudo chown -R gandi ./kafka/
sudo gedit ~/.bashrc
export KAFKA_HOME=/usr/local/kafka
export PATH=$KAFKA_HOME/bin:$PATH
source ~/.bashrc
配置kafka
进入kafka的config目录下,有一个server.properties,添加如下配置
# broker的全局唯一编号,不能重复
broker.id=0
# 监听
listeners=PLAINTEXT://:9092
# 日志目录
log.dirs=/usr/local/kafka/kafka-logs
# 配置zookeeper的连接(如果不是本机,需要该为ip或主机名)
zookeeper.connect=localhost:2181
启动zookeeper
启动kafka 之前需要启动zookeeper
gandi@ubuntu:~$ zkServer.sh start zoo1.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo1.cfg
Starting zookeeper ... STARTED
启动kafka
kafka-server-start.sh /usr/local/kafka/config/server.properties
当打印日志不动了,并且看到以下信息
但是并不能保证kafka已经启动成功了,输入jps查看进程,看到kafka表示已经启动成功。
Kafka命令
--create 创建主题
--topic 主题名称
-zookeeper zookeeper集群地址
--replication-factor 每个分区副本因子个数即每个分区有多少副本
--partitions 主题partition数量
创建topic
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 3 --topic gandi
创建生产者
kafka-console-producer.sh --topic gandi --broker-list localhost:9092
创建消费者
kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic gandi
查看Kafka中Topic
kafka-topics.sh --zookeeper localhost:2183 --list
展示Topic详细信息
kafka-topics.sh --zookeeper localhost:2183 --describe --topic gandi
删除Topic
kafka-topics.sh --zookeeper localhost:2183 --delete --topic gandi
如果kafaka启动时加载的配置文件中server.properties没有配置"delete.topic.enable=true",
那么此时的删除并不是真正的删除,而是把topic标记为删除:marked for deletion。或者直接从Zookeeper中删除。