004_kafka_安装运行
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_安装运行的更多相关文章
- [kafka] 004_kafka_安装运行
1.下载和安装 目前kafka的稳定版本为0.10.0.0 下载地址:http://kafka.apache.org/downloads.html 下载后解压缩安装包到系统即可完成安装 > ta ...
- Windows OS上安装运行Apache Kafka教程
Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...
- 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法
转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...
- Android中插件开发篇之----动态加载Activity(免安装运行程序)
一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析 ...
- 用JSON-server模拟REST API(一) 安装运行
用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...
- Mac 下安装运行Rocket.chat
最近花了一周的时间,复习了HTML.CSS.原生JS,并学习了Node.js.CoffeeScript.js.MongoDB,入了下门. 因为准备在Rocket.chat 上做二次开发,所以先下载和安 ...
- 在Linux上rpm安装运行Redis 3.0.4
http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...
- Linux通过docker安装运行酷Q--用QQ骰子君进行跑团
Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...
- Activity工作流(2)-入门安装运行第一个例子
转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432 版权声明:本文为博主原创文章,未经博主允许不得转载 ...
随机推荐
- JQuery 表单校验插件 validate 使用纪录
JS诞生其中一个目的就是将, 服务器端的校验在客户端提前完成, 以避免用户提交数据后, 后台校验报错的糟糕用户体验. 基于JQuery库的有很多优秀的插件, 其中对于浏览器端表单进行验证的基本功能也有 ...
- EBS创建相应的用户
登陆EBS,依次点击"System Administrator"-->"Security"-->"User"-->&quo ...
- K近邻分类算法实现 in Python
K近邻(KNN):分类算法 * KNN是non-parametric分类器(不做分布形式的假设,直接从数据估计概率密度),是memory-based learning. * KNN不适用于高维数据(c ...
- svg学习(五)ellipse
<ellipse> 标签 <ellipse> 标签可用来创建椭圆.椭圆与圆很相似.不同之处在于椭圆有不同的 x 和 y 半径,而圆的 x 和 y 半径是相同的. <?xm ...
- Oracle常用操作-----(二)
Oracle主要类型函数: 单行函数:只能输入一行结果,返回一个结果.常见的单行函数有: 字符函数 数字函数 转换函数 日期函数 2.聚合函数:同时可以对多行数据进行操作,并返回一个结果.(AVG.S ...
- IOS基础面试题
最近离职了,找工作,光会做项目,对基础不熟,今天就总结了一点面试题. 废话不多说,上题吧: 1.objective-c中的数字对象都有哪些,简述它们与基本数据类型的区别是什么. 基本类型和C一样,主要 ...
- SQL复制一个表的数据到另一个表
最近做一个项目,由于客户数据量大,为了不将数据彻底删除,于是将数据移动到历史表,原始表的数据删除.由于技术有限,想不到好的方法,于是写个存储过程 执行,为了防止执行过程中出现异常,执行不完整.用到hI ...
- 处理mysql上百万条数据的优化
php 处理上百万条的数据库如何提高处理查询速度 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字 ...
- Unable to create SVNRepository object
I think you are missing at least the library setup stuff: /* * Initializes the library to w ...
- * 和 ** python
*代表tuple集合,**代表dict def func(a, b, c=0, *args, **kw) print ('a=',a, 'b=',b,'c=',c,'args=',args,'kw= ...