Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。
消息队列的传统应用领域是异步处理、流量消峰和解耦
消息队列的两种模式:
点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)
发布/订阅模式(一对多,消费者消费数据之后不会清除消息)
解压后修改配置文件server.propertities
#broker的全局唯一编号,不能重复,每个节点的id不一样 broker.id=0 #删除topic功能使能 delete.topic.enable=true #kafka运行日志存放的路径,需要自己创建 log.dirs=/opt/module/kafka/logs #配置连接Zookeeper集群地址 zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181配置环境变量
$ sudo vi /etc/profile #KAFKA_HOME export KAFKA_HOME=/opt/module/kafka $ source /etc/profile启动和关闭
#启动 bin/kafka-server-start.sh -daemon config/server.properties #关闭 bin/kafka-server-stop.sh stop增删改查
创建 bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions 1 --topic first 选项说明: --topic 定义topic名 --replication-factor 定义副本数 --partitions 定义分区数 删除 bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first 需要server.properties中设置delete.topic.enable=true否则只是标记删除。 查看 查看所有 bin/kafka-topics.sh --zookeeper hadoop102:2181 --list 查看某一个topic bin/kafka-topics.sh --zookeeper hadoop102:2181 --describe --topic first 修改分区数 bin/kafka-topics.sh --zookeeper hadoop102:2181 --alter --topic first --partitions 6 消费消息 bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first --from-beginning:会把主题中以往所有的数据都读取出来。
