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. mybatis父子表批量插入

    <!--父子表批量插入 --> <insert id="insertBatch" parameterType="com.niwopay.dto.beni ...

  2. VS 创建虚拟目录失败,映射到其他文件夹!

    今天,改一哥们项目!立马,问了一下原因.支支吾吾的气死LZ! 算了,就不信自己琢磨不出来!哼 找了半天,坑爹的是在Web.csproj文件中! 用txt打开,发现这个东东! <UseIIS> ...

  3. bootstrap入门-4.排版及其他固定样式

    本篇包括以下内容:排版.代码.表格.表单. 总结:超无聊,弃更. · 排版样式                                     标题 h1-h6 取消加粗,字体大小也有一定变化 ...

  4. eclipse中配置tomcat

    配置eclipse中的tomcat非常简单,之前以为windows下和mac中可能会不一样,但是经过配置发现是一样的: 下面就是在eclipse中简单的配置tomcat如下(mac和windows中都 ...

  5. AJAX-----09iframe模拟ajax文件上传效果原理1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. MVC 4 异步编程简化了

    MVC 3 异步编程好麻烦,需要使用异步控制器,一个Action需要拆成两个,很不方便.MVC3的好处是,只需要.NET Framework 4.0就能运行 MVC 4 之后只需要使用async和aw ...

  7. [已解决] 日常开发中禁用Tomcat自动重启

    最近做了一些Java Web开发,发现每次修改完java或者其他文件后tomcat都会重新加载一次项目,很耽误事,如何禁用Tomcat自动重启呢, 找到server.xml中的这一行,把其中的 rel ...

  8. 清除dns缓存

    Linux清除dns缓存命令 /etc/init.d/dnsmasq restart

  9. 弹窗的封装(css,js) 和弹窗的例子

    //每个弹窗的标识 var x =0; var idzt = new Array(); var Window = function(config){ //ID不重复 idzt[x] = "z ...

  10. 【C++/Qt】Qt中的parent形参

    在 派生类的构造函数初始化列表中 调用 父类的带有参数的构造函数,是为了初始化从父类继承来的成员变量.因为这些变量无法直接初始化,只能采用这种方式初始化. 而在qt中,MainWindow中的某成员变 ...