kafka安装与使用
一、下载
下载地址: http://kafka.apache.org/downloads.html
kafka目录结构
目录
说明
bin 操作kafka的可执行脚本,还包含windows下脚本 config 配置文件所在目录 libs 依赖库目录 logs 日志数据目录,目录kafka把server端日志分为5种类型, 
分为:server,request,state,log-cleaner,controller
二、安装及启动
1. 解压
> tar -xzf kafka_2.9.1-0.8.2.2.tgz
> cd kafkakafka_2.9.1-0.8.2.22. 配置kafka最为重要三个配置依次为:broker.id、log.dir、zookeeper.connect
kafka server端config/server.properties参数说明参照: kafka主要配置
根据属性说明完成配置:
broker.id = 1
port = 9092
host.name=h1(h1为本人配置的hostname)
log.dirs=/root/software/kafka/log
zookeeper.connect=h1:2181
配置zookeeper(假设您已经安装了zookeeper,如果没有安装,参照 zookeeper集群环境安装配置)
3.启动服务
在启动kafka时需要先启动zookeeper服务
kafka启动命令:
> bin/kafka-server-start.sh config/server.properties
通过jps命令可以查看zookeeper和kafka是否启动成功,如下图:
4.创建topic (此处创建是名称为‘my-topic’的topic,它只有一个分区,一个副本)
> bin/kafka-topics.sh --create --zookeeper h1:2181 --replication-factor 1 --partitions 1 --topic my-topic
5.查看topic列表
> bin/kafka-topics.sh --list --zookeeper h1:2181
6.发送消息
Kafka 使用一个简单的命令行producer,从文件中或者从标准输入中读取消息并发送到服务端。默认的每条命令将发送一条消息。
运行producer并在控制台中输一些消息,这些消息将被发送到服务端:> bin/kafka-console-producer.sh --broker-list
h1:9092 --topic my-topicthis is one message
this is another message
如图:
7.启动consumer
Kafka也有一个命令行consumer可以读取消息并输出到标准输出:
> bin/kafka-console-consumer.sh --zookeeper
h1:2181 --topic my-topic --from-beginningthis is one message
this is another message
如图:
三、搭建一个多个broker的集群
刚才只是启动了单个broker,现在启动有3个broker组成的集群,这些broker节点也都是在本机上的:
1. 首先为每个节点编写配置文件:> cp config/server.properties config/server1.properties
> cp config/server.properties config/server2.properties编辑新文件并设置如下配置config/server1.properties:
broker.id=1
port=9093
log.dirs=log.dirs=/root/software/kafka/log1
config/server2.properties:
broker.id=2
port=9094
log.dirs=/root/software/kafka/log2broker.id在集群中唯一的标注一个节点,因为在同一个机器上,所以必须制定不同的端口和日志文件,避免数据被覆盖。2. 之前我们已经启动zookeeper和一个节点,现在只需要启动这两个新节点> bin/kafka-server-start.sh config/server-1.properties &
> bin/kafka-server-start.sh config/server-2.properties &3. 创建一个拥有三个副本的topic: replicated-topic> bin/kafka-topics.sh --create --zookeeper h1:2181 --replication-factor 3 --partitions 1 --topic replicated-topic我们可以通过运行"describe topics"命令来查看每个节点信息> bin/kafka-topics.sh --describe --zookeeper h1:2181 --topic replicated-topicTopic:replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: replicated-topic Partition: 0 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2
下面解释一下这些输出。第一行是对所有分区的一个描述,然后每个分区都会对应一行,因为我们只有一个分区所以下面就只加了一行。
leader:负责处理消息的读和写,leader是从所有节点中随机选择的.
replicas:列出了所有的副本节点,不管节点是否在服务中.
isr:是正在服务中的节点.
在我们的例子中,节点0是作为leader运行。我们可以对比一下看一下之前创建的my-topic
4. 发送接收消息如上步骤6、7,不再重复写出
5. 现在测试一下多broker集群的容错能力,通过"describe topics"命令知道
replicated-topic的leader为broker0,现在我们kill掉它> ps -ef | grep server.properties
> kill –9 20549
另外一个节点被选做了leader,node 0不再出现在 in-sync
副本列表中:
通过测试验证虽然最初负责续写消息的leader
down掉了,但之前的消息还是可以消费的:
kafka安装与使用的更多相关文章
- hadoop 之 kafka 安装与 flume -> kafka 整合
		
62-kafka 安装 : flume 整合 kafka 一.kafka 安装 1.下载 http://kafka.apache.org/downloads.html 2. 解压 tar -zxvf ...
 - Kafka安装及部署
		
安装及部署 一.环境配置 操作系统:Cent OS 7 Kafka版本:0.9.0.0 Kafka官网下载:请点击 JDK版本:1.7.0_51 SSH Secure Shell版本:XShell 5 ...
 - [Kafka] - Kafka 安装介绍
		
Kafka是由LinkedIn公司开发的,之后贡献给Apache基金会,成为Apache的一个顶级项目,开发语言为Scala.提供了各种不同语言的API,具体参考Kafka的cwiki页面: Kafk ...
 - Kafka 安装配置 windows 下
		
Kafka 安装配置 windows 下 标签(空格分隔): Kafka Kafka 内核部分需要安装jdk, zookeeper. 安装JDK 安装JDK就不需要讲解了,安装完配置下JAVA_HOM ...
 - kafka安装教程
		
今天需要在新机器上安装一个kafka集群,其实kafka我已经装了十个不止了,但是没有一个是为生产考虑的,因此比较汗颜,今天好好地把kafka的安装以及配置梳理一下: 1,kafka版本选取: 现在我 ...
 - Kafka安装及开启SASL_PLAINTEXT认证(用户名和密码认证)
		
前些日子要封装一个kafka的客户端驱动,配置了下kafka环境,发现配置复杂度完爆rabbitmq很多倍啊,而且发布订阅模式使用起来也很麻烦,可能就胜在分布式了吧. kafka需要java环境,自行 ...
 - Kafka安装与配置(windows)
		
作者:灬花儿灬 出处:http://www.cnblogs.com/flower1990/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
 - kafka安装步骤
		
kafka 安装内存会报不够 https://stackoverflow.com/questions/9350437/incompatible-initial-and-maximum-heap-siz ...
 - kafka安装与简单使用
		
一.kafka安装 安装是非常简单的,现在推荐安装0.8的版本,这个版本是非常稳定的,而且公司里面也多用此版本. 简单的安装: 这个是我使用的版本,kafka_2.11-0.8.2.2.tgz 直接t ...
 - kafka系列一、kafka安装及部署、集群搭建
		
一.环境准备 操作系统:Cent OS 7 Kafka版本:kafka_2.10 Kafka官网下载:请点击 JDK版本:1.8.0_171 zookeeper-3.4.10 二.kafka安装配置 ...
 
随机推荐
- 安装zookeeper时候,可以查看进程启动,但是状态显示报错:Error contacting service. It is probably not running
			
安装zookeeper-3.3.2的时候,启动正常没报错,但zkServer.sh status查看状态的时候却出现错误,如下: JMX enabled by defaultUsing config: ...
 - Java集群之session共享解决方案
			
随着互联网的日益壮大,网站的pv和uv成线性或者指数倍的增加.单服务器单数据库早已经不能满足实际需求.比如像盛大,淘宝这样的大型网络公司,更是如此. 集群,也就是让一组计算机服务器协同工作,达 ...
 - webapp思路和rem适配极其viewport
			
webapp在制作时候,页面上要加入viewport标签,用来进行适配; viewport的meta标签,指的是在移动端显示的时候,viewport是多大?移动端的浏览器是屏幕宽,viewport一般 ...
 - JAVA  JDK 1.6 API中文版.CHM打开chm提示,“ 已取消到该网页的导航”
			
JAVA JDK 1.6 API中文版.CHM打开chm提示,“ 已取消到该网页的导航” silent fish 装了win7后,打开chm文件,发现很多在xp系统打开正常的chm文件竟然出现问题, ...
 - 怎样在thinkphp里面执行原生的sql语句
			
$Model = new Model(); $sql = "select * from `order`"; $voList = $Model->query($sql); 只是 ...
 - Deep Learning  学习随记(五)深度网络--续
			
前面记到了深度网络这一章.当时觉得练习应该挺简单的,用不了多少时间,结果训练时间真够长的...途中debug的时候还手贱的clear了一下,又得从头开始运行.不过最终还是调试成功了,sigh~ 前一篇 ...
 - Linux命令:chmod命令
			
chmod命令:改变文件或目录的存取权限 #权限代号 -r 文件被读取 4 -w 文件被写入 2 -x 文件被执行 1 #权限范围 -u 文件所有者 -g 文件所有者所在组 -o 其他 -a 全部 # ...
 - 求fibonacci数列  java
			
java 和 c 差不多.但是java可以根据需求定义数组. 我还不会java的函数调用,所以用数组的方法. import java.util.Scanner; public class fibon{ ...
 - SGU 175.Encoding
			
Solution: 简单题. 答案初始化为1. 从给定的n,q往下推出新的n和q,如果q是在右半边,答案加上 n-n/2. 一直到推到n==1. code: #include <iostream ...
 - PHPCMS V9调用时间标签 |日期时间格式化
			
PHPCMS V9 如何调用时间标签,下面分享常见的调用时间标签 |日期时间格式化 1.日期时间格式化显示: a标准型:{date('Y-m-d H:i:s', $rs['inputtime'])} ...
 
			
		





