Kafka知识笔记

Kafka

Apache Kafka是一个开源的分部式消息队列(生产者消费者模式),是由scala语言编写的,类似于JMS,是基于JMS标准实现的。

Apache kafka的基本架构
Kafka Cluster:由多个服务器组成。每个服务器单独的名字broker(掮客)。
Kafka broker:kafka集群中包含的服务器。
kafka Producer:消息生产者、发布消息到kafka集群的终端或服务。
kafka consumer:消息消费者、负责消费数据。
kafka Topic:主题,一类消息的名称。

kafka的基本使用
主要用来实现系统与系统之间信息传输,一般有两大角色,一个是生产者,一个是消费者。
实现方式:
(1)采用kafka自带的脚本来操作。
(2)使用相关的语言的API来进行操作。

使用脚本操作kafka
(1)创建一个topic
./kafka-topics.sh --create --zookeeper node01:2181 --replication-factor 1 --partitions 1 --topic user
(2)启动一个生产者
./kafka-console-producer.sh --broker-list node01:9092 --topic user
(3)启动一个消费者
./kafka-console-consumer.sh --bootstrap-server node01:9092 --topic user (获取最新数据)
./kafka-console-consumer.sh --bootstrap-server node01:9092 --from-beginning --topic user
(4)查看有哪些Topic
./kafka-topics.sh --list --zookeeper node01:2181(5)查看某一个具体的Topic的详细信息
./kafka-topics.sh --describe --topic user --zookeeper node01:2181
(6)删除topic
./kafka-topics.sh --delete --topic user --zookeeper node01:2181

分片机制:主要解决单台服务器存储容量有限的问题
副本机制:解决数据存储的高可用问题。

kafka的自动化脚本
startkafka.sh
cat /export/servers/kafka/slave | while read line
do
{
echo $line
ssh &line “source /etc/profile;nohup kafka-server-start.sh /export/servers/kafka/config/server/properties >/dev/null 2>&1 &”
}&
wait
done

stopkafka.sh
cat /export/servers/kafka/slave | while read line
do
{
echo $line
ssh $line "source /etc/profile; jps | grep kafka |cut -c 1-4 |xargs kill -s 9 "
}&
wait
done

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值