• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

【kafka 】基本使用方法

武飞扬头像
juejin
帮助51

kafka基本使用

1.1kafka是什么有什么作用

kafka不仅仅是一款开源的消息引擎(System Messaging)系统,而且是一个分布式流处理平台(Distributed Streaming Platform)

1.1.1 消息引擎

消息引擎模型:

  • 点对点模型
  • 发布订阅模型

消息引擎消息格式(消息的编码方式)

  • CSV,XML,Json,Protocol Buffer Thrift
  • kafka选择的是二进制

说起消息引擎就不得不说大名鼎鼎的JMS(Java Message System),JMS仅仅是一组API规范但是因为它太过于出名和努都主流的消息引擎都支持JMS规范例如:ActiveMQ,RabbitMQ,kafka等等,但是kafka并未完全遵照JMS规范。

1.1.2 Distributed Steraming Platform

是一款分布式流处理平台,是kafka1.0和2.0版本刚刚完善的一个新功能。

1.2 kafaka docker环境搭建

安装server端

#1.docker 拉取 zookeeper 和kafka 景象
docker search container_name

#2.拉取你需要的容器 默认最新版本
docker pull container_name

#3.启动容器 首先启动zk 然后启动kafka容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

#4.启动kafka容器
#先简单的介绍一下这几个参数 下边后仔细说明 KAFKA_ZOOKEEPER_CONNECT:zk地址
#KAFKA_LISTENERS 监听器 告诉外部系统用什么协议和主机号端口去访问开放的kafka服务
#  KAFKA_ADVERTISED_LISTENERS advertised:空开的。这组监听器是Broker 公开对外暴露的
docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 
-e KAFKA_ZOOKEEPER_CONNECT=192.168.1.7:2181 
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.7:9092 
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka 

进入kafka容器进行基本操作

#进入kafka容器
docker exec -ti kafka(containerName or containerId) /bin/bash

#创建主题 test
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

#查看有多少主题
bin/kafka-topics.sh --list --bootstrap-server localhost:9092

#查看当前主题详情
bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test
#主题详情如下
# Topic:test	PartitionCount:1	ReplicationFactor:1	Configs:segment.bytes=1073741824
#	Topic: test	Partition: 0	Leader: 0	Replicas: 0	Isr: 0
#Isr 存活着的replicas

#发送消息 创建producer端
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

#接收消息 常见consumer端
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 

1.3 kafka集群环境搭建及其使用

#集群kafka操作 setting up a muliti-broker cluster  KAFKA_BROKER_ID kafka在进群中的唯一标示不能重复
docker run  -d --name kafka2 -p 9093:9093 -e KAFKA_BROKER_ID=1
-e KAFKA_ZOOKEEPER_CONNECT=192.168.1.7:2181 
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.115.209:9093 
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka 

#创建一个两个副本两个分区的Topic 
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 2 --partitions 2 --topic test2
#主题详情如下

# Topic:my	PartitionCount:2	ReplicationFactor:2	Configs:segment.bytes=1073741824
#	Topic: my	Partition: 0	Leader: 0	Replicas: 0,1	Isr: 0
#Isr 还在活着的副本 说明partitin1挂了


这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/taneiki
系列文章
更多 icon
同类精品
更多 icon
继续加载