简介:
Kafka是一个由Apache软件基金会开发的开源流式数据处理平台。它最初是LinkedIn开发的分布式发布/订阅消息系统,用于处理大规模的实时数据。Kafka具有高吞吐量、可持久化存储、水平扩展性和容错性等特点,被广泛应用于日志收集、数据传输、指标收集等场景中。它提供了生产者和消费者API,以及流处理API,使得用户能够方便地构建实时数据处理应用程序。
Zookeeper:
ZooKeeper是一个由Apache软件基金会开发的开源分布式协调服务,用于管理和协调分布式应用程序。它提供了一个简单而健壮的接口,使得分布式应用程序能够在不同节点之间共享信息、同步状态和协调操作。ZooKeeper通常用于解决分布式系统中的一致性问题,例如选举算法、配置管理、命名服务等。它具有高可用性、强一致性和可靠性的特点,被广泛应用于诸如Hadoop、Kafka等分布式系统中作为基础设施来提供分布式协调服务。
注意:
启动Kafka的前提是启动Zookeeper
命令:
Zookeeper:
启动zookeeper
bin/zkServer.sh start
查看运行状态
bin/zkServer.sh start
关闭zookeeper
bin/zkServer.sh stop
Kafka:
启动kafka
前台启动: bin/kafka-server-start.sh config/server.properties
启动之后无法再输入其它命令
后台启动: bin/kafka-server-start.sh config/server.properties &
启动不打印日志,可以接着输入其它命令
关闭kafka
bin/kafka-server-stop.sh stop
查看当前服务器中的所有topic(话题 分类)
/opt/module/kafka/bin/kafka-topics.sh --zookeeper 192.168.231.131:2181 --list
创建topic
/opt/module/kafka/bin/kafka-topics.sh --zookeeper 192.168.47.129:2181 --create --replication-factor 1 --partitions 1 --topic gouwuche
选项说明:
-topic 定义topic名
--replication-factor 定义副本数
--partitions 定义分区数
3)删除topic
[hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper 192.168.41.91:2181 --delete --topic (名字) first
需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。
4)发送消息(指定向哪台服务器发送)
[hadoop102 kafka]$ /opt/module/kafka/bin/kafka-console-producer.sh --broker-list 192.168.231.131:9092 --topic lanqiu
5)消费消息
[hadoop103 kafka]$ /opt/module/kafka/bin/kafka-console-consumer.sh --zookeeper 192.168.231.131:2181 --from-beginning --topic gouwuche
--from-beginning:会把first主题中以往所有的数据都读取出来。根据业务场景选择是否增加该配置。
6)查看某个Topic的详情
[hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper 192.168.41.91:2181 --describe --topic gouwuche
使用守护进程的方式启动
bin/kafka-server-start.sh -daemon config/server.properties