Kafka学习(一)配置及简单命令使用

一. Kafka中的相关概念的介绍


Kafka是一个scala实现的分布式消息中间件,其中涉及到的相关概念如下:

  • Kafka中传递的内容称为message(消息),message 是通过topic(话题)进行分组的 topic 和message 的关系是一对多的关系
  • 我们称发布message的进程为producer ,就是说producer生成<topic->message>对然后 丢进kafka集群
  • 相对应的称订阅topic处理对应message的进程为consumer
  • Kafka集群中的节点被称为broker

附加个图说明下:http://kafka.apache.org/documentation.html#introduction

二. Kafka中的关键参数的配置


Broker(集群总的节点)配置

broker.id : 唯一确定的一个int 类型数字

log.dirs :存储kafka数据,默认路径 为/tmp/kafka-logs

port:comsumer连接的端口号

zookeeper.conect: zookeeper的链接字符串,定义的格式如下 hostname1:port1,hostname2:port2,hostname3

num.partitions : 一个topic可以被分成多个paritions 管道,每个partiions中的message有序但是多个paritions中的顺序不能保证

2.Consumer 配置

group.id :string 类型 标志consumer隶属的consumer process 组

zookeeper.connect: hostname1:port1,hostname2:port2(/chroot/path 统一数据存储路径)

zookeeper 中存储了kafka的comsumers和brokers(包括topic和partition)的基本信息

3.Producer配置

metadata.book.list :host1:port1,host2:port2

request.required.acks: 0.数据完成就直接提交(可能在服务器崩溃了的时候丢失数据)

1.wait until the server acknowledges the request as successful

-1.no messages lost

producer.type : 确定messages是否同步提交 sync

serializer.class :kafka.serializer.DefaultEncoder  message 的序列化类,默认编码器处理类型都是byte[]类型

三.Kafka的简单命令


Step 1: 启动服务器

首先启动zookeeper

> bin/zookeeper-server-start.sh config/zookeeper.properties(远程启动的时候需要在后面加上一个 & 作为后台进程,然后断开和远程的链接)

接着启动kafka服务器

> bin/kafka-server-start.sh config/server.properties

Step 2: 创建 一个 topic

> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看topic

> bin/kafka-topics.sh --list --zookeeper localhost:2181

Step 3: Send some messages

> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
This is a message
This is another message

Step 4: 启动一个客户端(消费者)

> bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
时间: 2024-12-28 21:21:29

Kafka学习(一)配置及简单命令使用的相关文章

在Windows下Kafka的基本配置及简单使用

首先下载zookeeper(版本zookeeper-3.4.13)和kafka(版本kafka_2.12-2.0.0),解压就可以使用了. 1.zookeeper:在config目录下,有zoo.conf这个配置文件,可以配置端口和日志存储的位置,可以根据自己习惯更改.首先启动zookeeper,如果环境变量中配置过了zookeeper,则可以直接打开cmd窗口,用zkserver来启动,如下:如果打印的日志都是INFO 或者WARN,并且进入守护线程状态,表示启动成功. 2.Kafka:在co

Monkey学习(2)简单命令合集

1.Monkey命令的简单帮助 执行所有命令的前提是,必须先链接模拟器或者实体机,否则会报如下错误信息: 打开命令行窗口,WIN+R,输入CMD 在命令行窗口执行:adb shell monkey –help 1) 参数:  -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App).指定 包之后,Monkey将只允许系统启动指定的APP.如果不指定包,Monkey将允许系统启动设备中的所有APP. * 指定一个包: adb shell monkey -p com.exam

计算机网络基础(三)—交换机配置的简单命令

1.网络设备的构成 硬件:内存-RAM - 随即读取存储器 CPU flash-硬盘 ROM - read only memory  只读存储器 nvram- 非易失性内存 软件: 系统文件 --- IOS (internet operating system) 配置文件---running config   正在运行着的配置文件 该文件保存在内存中(RAM),设备断电时容易丢失 ---startup-config  开机启动时加载的配置文件 该文件保存在非易失性内存(nvram),设备断电时文

kafka学习之-配置详解

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You unde

kafka学习记录之配置

学习之地:http://kafka.apache.org/082/documentation.html#configuration kafka broker主配置文件:~/config/server.properties 标注:这里暂只涉及Broker Configs&Topic-level configuration~~~ kafka configure涉及以下几个方面: Broker Configs:kafka broker主配置 Consumer Configs:kafka consume

lua学习笔记10:lua简单命令行

前面多次用了命令行,这次就好好学下命令行: 一 格式 lua [options][script][args] 二 具体命令 -e 直接将命令传个lua -l 加载一个文件 -i 进入交互模式 例如,终端输入: lua -e "print(math.sin(12))" lua学习笔记10:lua简单命令行,布布扣,bubuko.com

1、Kafka学习分享-V1.0

Kafka学习分享 .1       什么是Kafka Apache Kafka是一个开源的流处理平台,由 Apache Software Foundation使用Scala and Java编写发展而来.Kafka?用于构建实时数据管道和流媒体应用. 它具有水平可扩展性,容错性,快速性,并在数千家公司生产中运行. 它的主要功能:数据流的发布和订阅.数据流的处理.数据流的存储.像一个消息系统一样发布和订阅数据流,有效且实时地处理数据流,在一个分布式备份的集群中安全地处理存储数据流. .2    

3、Kafka学习分享|快速入门-V3.0

Kafka学习分享|快速入门 这个教程假定你刚开始是新鲜的,没有现存的Kafka或者Zookeeper 数据.由于Kafka控制控制脚本在Unix和Windows平台不同,在Windows平台使用bin\windows\ 代替 bin/,并且更改脚本扩展名为.bat. 第一步:下载编码 下载0.10.2.0版本并且解压它. 第二步:启动服务器 Kafka使用Zookeeper,因此如果你没有Zookeeper server,你需要先启动a ZooKeeper server.你可以使用Kafka的

kafka学习之路(二)——提高

kafka学习之路(二)--提高 消息发送流程 因为Kafka内在就是分布式的,一个Kafka集群通常包括多个代理.为了均衡负载,将话题分成多个分区,每个代理存储一或多个分区.多个生产者和消费者能够同时生产和获取消息.     过程: 1.Producer根据指定的partition方法(round-robin.hash等),将消息发布到指定topic的partition里面 2.kafka集群接收到Producer发过来的消息后,将其持久化到硬盘,并保留消息指定时长(可配置),而不关注消息是否