1、下载和安装

目前kafka的稳定版本为0.10.0.0

下载地址:http://kafka.apache.org/downloads.html

下载后解压缩安装包到系统即可完成安装

> tar -xzf kafka_2.-0.10.0.0.tgz
> cd kafka_2.-0.10.0.0

2、运行kafka服务

kafka依赖于zookeeper服务提供调度。因此在启动kafka之前,需要启动zookeeper。

如果你本地之前没有安装过zookeeper服务,kafka已提供一个内置zookeeper服务供您使用。

> bin/zookeeper-server-start.sh config/zookeeper.properties &

启动zookeeper完成后,再来启动kafka服务:

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

如果在启动过程中,报错信息为: replication factor: 1 larger than available brokers: 0

这是因为brokers和replication不匹配造成的

解决方法:在server.properties中 配置 offsets.topic.replication.factor=1

3、创建Topic

创建一个只包含一个patition和一个replication的名为'test'的Topic

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

查看Topic列表:

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

查看创建的topic的详细信息:

>bin/kafka-topics.sh
--describe
--zookeeper localhost:
--topic test

4、使用producer向kafka中推送一个消息

Run the producer and then type a few messages into the console to send to the server.

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

通常这一步是由程序来执行,具体API参考官网。

5、查看推送到kafka的消息

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

番外:设置一个多broker的集群kafka服务

上述的安装和启动是基于单个broker。现在我们需要拓展下我们的集群,在一台server上安装一个包含3个broker的伪集群kafka服务。

首先,拷贝配置文件server.properties并改名:

> cp config/server.properties config/server-.properties
> cp config/server.properties config/server-.properties

其次,修改配置文件中的如下属性:

config/server-1.properties:
broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1 config/server-2.properties:
broker.id=2
listeners=PLAINTEXT://:9094
log.dir=/tmp/kafka-logs-2

最后,启动新创建的这两个kafka服务:

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

现在我们可以创建一个备份为3的topic了

> bin/kafka-topics.sh 
  --create
  --zookeeper localhost:
  --replication-factor
  --partitions
  --topic my-replicated-topic

查看topic详细:

> bin/kafka-topics.sh
--describe
--zookeeper localhost:
--topic my-replicated-topic Topic:my-replicated-topic
PartitionCount:
ReplicationFactor:
Configs:
Topic: my-replicated-topic
  Partition:
  Leader:
  Replicas: ,,
  Isr: ,,

004_kafka_安装运行的更多相关文章

  1. [kafka] 004_kafka_安装运行

    1.下载和安装 目前kafka的稳定版本为0.10.0.0 下载地址:http://kafka.apache.org/downloads.html 下载后解压缩安装包到系统即可完成安装 > ta ...

  2. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  3. 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法

    转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...

  4. Android中插件开发篇之----动态加载Activity(免安装运行程序)

    一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析 ...

  5. 用JSON-server模拟REST API(一) 安装运行

    用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...

  6. Mac 下安装运行Rocket.chat

    最近花了一周的时间,复习了HTML.CSS.原生JS,并学习了Node.js.CoffeeScript.js.MongoDB,入了下门. 因为准备在Rocket.chat 上做二次开发,所以先下载和安 ...

  7. 在Linux上rpm安装运行Redis 3.0.4

    http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...

  8. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  9. Activity工作流(2)-入门安装运行第一个例子

    转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

随机推荐

  1. Python基础、collections补充

    collections collections是Python数据类型的补充,可以实现Counter计数.可命名元组(namedtuple).默认字典.有序字典.双向队列等功能 参考:http://py ...

  2. 【转】数据库系统异常排查之DMV

    数据库系统异常是DBA经常要面临的情景,一名有一定从业经验的DBA,都会有自己一套故障排查的方法和步骤,此文为为大家介绍一下通过系统 性能视图(SQLServer05以上版本)来排查系统异常的基本方法 ...

  3. ubuntu15.04安装Chrome浏览器

    首先到: https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 下载最新的安装文件. 然后: sudo a ...

  4. sql 中实现往表中插入一条记录并返回当前记录的ID

    写一条存储过程,实现往User中插入一条记录并返回当前UserId(自增长id) --推荐写法 if(Exists(select * from sys.objects where name=N'Usp ...

  5. Form 数据库的顺序

    form buidler 中数据库的上下排列顺序也很重要,开发中无心把LINE的数据块放在HEADER数据块之上, 导致在新增数据的时候先去insert  LINE数据块(没有生成HEADER_ID的 ...

  6. APP-SQLAP-10771:Could not reserve record (匹配PO时候)

    ,) SID, substr(C.SERIAL#,,) SERIAL#, substr(B.,) OBJ_NAME, C.STATUS, C.USERNAME, c.action, C.USER#, ...

  7. MFC通过ODBC方式连接mysql

    一. 要安装mysql-connector-odbc驱动 二. 配置数据源 电脑的控制面板-管理工具-数据源ODBC-系统DSN-添加-选择刚刚安装的mysql odbc Driver 参考 http ...

  8. [Effective JavaScript 笔记]第63条:当心丢弃错误

    管理异步编程的一个是错误处理.同步代码中只要使用try语句块包装一段代码很容易一下子处理所有的错误. try{ f(); g(); h(); } catch(e){ //这里用来下得出现的错误 } t ...

  9. ruby on rails on windows

    这次想系统学会rails,最终目标是将redmine改造成顺手的工具,主要的手段就是开发redmine插件.虽然网上都推荐使用类Unix系统,可手头只有win7系统,就安装了. 难免会遇到这样那样的问 ...

  10. mina IoBuffer 常用方法

    Limit(int) 如果position>limit, position = limit,如果mark>limit, 重置mark Mark() 取当前的position的快照标记mar ...