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


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


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

二. 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.数据完毕就直接提交(可能在server崩溃了的时候丢失数据)
                                        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: 启动server

首先启动zookeeper

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

接着启动kafkaserver

> 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: 启动一个client(消费者)

> bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

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

  1. Kafka配置及简单命令使用

    一. Kafka中的相关概念的介绍 Kafka是一个scala实现的分布式消息中间件,其中涉及到的相关概念如下: Kafka中传递的内容称为message(消息),message 是通过topic(话 ...

  2. java架构之路(MQ专题)kafka集群配置和简单使用

    前面我们说了RabbitMQ和RocketMQ的安装和简单的使用,这次我们说一下Kafka的安装配置,后面我会用几个真实案例来说一下MQ的真实使用场景.天冷了,不愿意伸手,最近没怎么写博客了,还请见谅 ...

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

    Monkey命令的简单帮助 执行所有命令的前提是,必须先链接模拟器或者实体机,否则会报如下错误信息: 打开命令行窗口,WIN+R,输入CMD 在命令行窗口执行:adb shell monkey –he ...

  4. Maven相关:mvn的配置和简单命令

    1.配置mvn: 点击链接 http://maven.apache.org/download.cgi 下载 解压到文件夹: 配置系统环境变量: 测试:mvn -v 2.mvn命令: 1. 显示版本信息 ...

  5. kafka学习之-配置详解

    # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreement ...

  6. kafka学习2:kafka集群安装与配置

    在前一篇:kafka学习1:kafka安装 中,我们安装了单机版的Kafka,而在实际应用中,不可能是单机版的应用,必定是以集群的方式出现.本篇介绍Kafka集群的安装过程: 一.准备工作 1.开通Z ...

  7. golang学习笔记8 beego参数配置 打包linux命令

    golang学习笔记8 beego参数配置 打包linux命令 参数配置 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/mvc/contro ...

  8. (Linux环境Kafka集群安装配置及常用命令

    Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...

  9. Linux学习之十七-配置Linux简单的脚本文件自启动

    配置Linux简单的脚本文件自启动 在Linux中使用shell脚本解决一些问题会比单独执行多条命令要有效率,脚本文件规定命名以.sh结尾,最基本的规则就是其内容是命令,想要脚本文件开机自启动,就需要 ...

随机推荐

  1. 怎样取消shutdown关机命令?-shutdown命令的使用解析

    机房上课,可恶电脑总是被管理员測试,不时地弹出这个关机提示.怎样取消这个关机命令呢?其有用 shutdown -a 就可以.以下来学习一下shutdown命令的使用:   shutdown这个命令预计 ...

  2. IT忍者神龟之中的一个句sql语句——连接同一字段的全部值

    Oracle能够用SYS_CONNECT_BY_PATH字符串聚合函数: SELECT LTRIM(MAX(SYS_CONNECT_BY_PATH(productname, ', ')), ', ') ...

  3. RGB HSV HLS三种色彩模式转换(C语言实现)

    Android项目上处理图像的代码(注释全部去掉) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...

  4. HDU4452Running Rabbits(模拟)

    HDU4452Running Rabbits(模拟) pid=4452" target="_blank" style="">题目链接 题目大意: ...

  5. MFC 总体理解

    在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API 你说你喜欢C++而MFC换一种说法就是一个用 ...

  6. 14.6.2 Moving or Copying InnoDB Tables to Another Machine 移动或者copy InnoDB 表到另外的机器

    14.6.2 Moving or Copying InnoDB Tables to Another Machine 移动或者copy InnoDB 表到另外的机器 这个章节描述技术关于移动或者copy ...

  7. 利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)

    利用未公开API获取终端会话闲置时间(Idle Time)和登入时间(Logon Time)作者:Tuuzed(土仔)   发表于:2008年3月3日23:12:38 版权声明:可以任意转载,转载时请 ...

  8. [C++]C++中的运行时类型检测

    Date:2014-1-3 Summary: 使用C++中的运行时类型检测.(文章重点在于记录本人的使用情况,并非深层讨论RTTI) Contents:写习惯C#的我,在C++依然存在哪些.NET的惯 ...

  9. 学习日记之命令模式和Effective C++

    命令模式(Command): 讲一个请求封装为一个对象.从而使你可用不同的请求对客户进行參数化.对请求队列或记录请求日志.以及支持可撤销的操作. 命令模式长处: (1),它能较easy地设计一个命令队 ...

  10. 外语学习强烈推荐Rosetta Stone

    外语学习强烈推荐Rosetta Stone 外语学习强烈推荐Rosetta Stone