1. kafka
消息中间件或者消息队列
组件:
消息生产者:Producer,它是生产数据的源头,负责生成消息发送到服务器。
消息消费者:Consumer,它是消息的消费方,负责消费kafka的消息。
主题:Topic,是由用户创建的,配置在kafka服务器,用于建立生产者和消费者之间的生产和消费关系。
消息分区:Partition,一个topic下面有多个partition,但是只有一个是主分区,其他是从分区。
Broker:kafka服务器,存储信息。
消费者组:group,用于归类消费者的,多个消费者可以共同消费一个Topic下的消息,每个消费者其中的部分消息,这些消费者就是组成了消费者组,拥有同一个组名。
消费者组可以消费一个或者多个分区的数据,相反,一个分区的数据同一时刻只能被一个消费者来消费。(避免重复消费)
offset:偏移量,消费者拉取数据信息的时候需要指定消息在文件中的偏移量。
2. 常用命令
1.新建主题
./bin/kafka-topics.sh --create --zookeeper 192.168.3.102:2181,192.168.3.103:2181,192.168.3.104:2181 --replication-factor 3 --partitions 3 --topic test1
2. 查看主题
./bin/kafka-topics.sh --list --zookeeper 192.168.3.102:2181,192.168.3.103:2181,192.168.3.104:2181
3. 查看topic详情
./bin/kafka-topics.sh --describe --zookeeper 192.168.3.102:2181,192.168.3.103:2181,192.168.3.104:2181 --topic test1
4. 删除Topic
./bin/kafka-topics.sh --delete --zookeeper 192.168.3.102:2181,192.168.3.103:2181,192.168.3.104:2181 --topic test
5. 修改topic的partition数量(只能增加不能减少)
./bin/kafka-topics.sh --alter --zookeeper 192.168.3.102:2181,192.168.3.103:2181,192.168.3.104:2181 --partitions 5 --topic test1
3. 消息格式
partition分区数量不能减少只能增加,同时,数据存在在kafka中,但是元数据放入zookeeper,partition有主从之分,zookeeper协调partition选举leader。消息按顺序存放,消息不可变,消息只能增加不能插入,每一个消息都偶有一个offset,用于消费者消费数据。
4. kafka分区和消费者关系
kafka分区继承了一个接口,实现的是partitionAssignor,他下面有个类,叫RoundRobinAssignor
5. 文件存储机制
./bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 & 启动kafka
./redis-server redis.conf 启动redis ./redis-cli -h 192.168.3.101 -p 6379 -a 123 登录redis
./kafka-console-producer.sh --broker-list 192.168.3.101:9092,192.168.3.102:9092,192.168.3.103:9092 --topic test6 生产者
kafka 启动 与redis启动
猜你喜欢
转载自www.cnblogs.com/VIP8/p/10567883.html
今日推荐
周排行