Kafka集群安装使用
来源:互联网 发布:系统矩阵不可逆 编辑:程序博客网 时间:2024/05/16 05:35
原文链接: http://blog.csdn.net/z769184640/article/details/51585419
Kafka介绍
Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。
支持通过kafka服务器和消费机集群来分区消息。
支持Hadoop并行数据加载。
Kafka的目的是提供一个发布订阅解决方案,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。
kafka是用Scala编写,用scalac编译器把源文件编译成Java的class文件(即在JVM上运行的字节码),因此Scala是基于JVM的语言,所以使用Kafka需要机器上游JVM支持,本文使用jdk版本为jdk-7u75.
以3台为例,如果是一个Follower宕机,还有2台服务器提供访问,因为Zookeeper上的数据是有多个副本的,数据并不会丢失,如果是一个Leader宕机,Zookeeper会选举出新的Leader。为什么是奇数台,如果Zookeeper 集群是3台,允许宕机1台,如果是4台,同样是允许1台宕机,因为选举算法要求”超过半数“,所以多出的一台没有意义。
配置步骤
Kafka自带了zookeeper,但是一般集群都会有zk,因此使用集群已有的zookeeper.
下载kafka_2.11-0.10.0.0.tgz
配置文件 server.properties
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
主要配置文件为server.properties,对于producer和consumer分别有producer.properties和consumer.properties,但是一般不需要单独配置,可以从server.properties中读取。
3. 启动各节点,分发此配置文件,修改broker.id和listeners地址,建立相应的目录。
- 1
- 2
- 3
- 1
- 2
- 3
-daemon放在后台运行。
4. 验证是否成功
4.1. 创建一个topic名为my-test
- 1
- 2
- 1
- 2
4.2. 发送消息,ctrl+c终止
- 1
- 2
- 3
- 1
- 2
- 3
4.3 另一台机器上消费消息
- 1
- 2
- 3
- 1
- 2
- 3
继续发送消息则在消费者终端会一直出现新产生的消息。至此,kafka集群搭建成功。
5. Kafka HelloWord
在kafka的手册中给出了java版的producer和cousumer的代码示例.
修改下地址,逗号隔开,该地址是集群的子集,用来探测集群。
5.1.Producer代码示例
- 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
- 28
- 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
- 28
5.2.Consumer代码示例
- 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
- 28
- 29
- 30
- 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
- 28
- 29
- 30
5.3.分别运行即可。看到comsumer打印出消息日志。
- Kafka集群安装使用
- Kafka集群安装使用
- kafka集群安装与使用
- Kafka集群的安装和使用
- Kafka集群安装
- Kafka集群安装
- Kafka集群安装
- Kafka集群安装
- 安装配置kafka集群
- Kafka集群安装
- kafka集群安装、配置
- Kafka集群安装
- kafka集群安装
- kafka集群安装配置
- kafka集群安装
- Kafka集群安装
- Kafka集群安装
- Kafka集群安装笔记
- golang中sort包用法
- 对象在内存中是如何体现的
- 使用 linux respin 制作自定义 Ubuntu ISO镜像
- 尤其是新手,如何学习一门编程语言
- HMM算法-viterbi算法的实现及与分词、词性标注、命名实体识别的引用
- Kafka集群安装使用
- jsp页面引入本地图片问题
- spark性能优化-基础
- json格式和JavaScript的关系
- scroll、offset和client的区别
- 南阳理工acm37 回文字符串
- 关于InfoPlist的配置
- android导入项目时的错误整理
- 基于ARM9程序状态寄存器CPSR