kafka特点:
它是一个处理流式数据的”发布-订阅“消息系统。
实时高效处理流式数据。
将数据安全存储在分布式集群。
它是运行在集群上的。
它将流式记录存储在topics中。
每个record由key,value和timestamp组成
kafka几个概念
- broker:kafka集群包含一个或者多个服务器,服务器就称作broker
- topic:发布到kafka集群的消息类别。
- partition:每个topic划分为多个partition。
- producer:负责发布消息到broker
- consumer:消费者,从broker获取消息
- consumer group
kafka的核心API - Producer
- Consumer
- Streams
- Connector
一、安装JDK
过程比较简单,这里不做说明。
最后打开cmd输入如下内容,表示安装成功
1.jpg.png
二、安装zooeleeper
下载安装包:http://zookeeper.apache.org/releases.html#download
下载后解压到一个目录:
- 进入Zookeeper设置目录,笔者D:\Java\Tool\zookeeper-3.4.6\conf
- 将“zoo_sample.cfg”重命名为“zoo.cfg”
- 在任意文本编辑器(如notepad)中打开zoo.cfg
- 找到并编辑dataDir=D:\Java\Tool\zookeeper-3.4.6\tmp
- 与Java中的做法类似,我们在系统环境变量中添加:
- a. 在系统变量中添加ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.6
- b. 编辑path系统变量,添加为路径%ZOOKEEPER_HOME%\bin;
- 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
- 打开新的cmd,输入zkServer,运行Zookeeper。
- 命令行提示如下:说明本地Zookeeper启动成功。
三、安装与运行Kafka
下载
http://kafka.apache.org/downloads.html 。注意要下载二进制版本的
下载后解压到任意一个目录,笔者的是D:\Java\Tool\kafka_2.11-0.10.0.1
- 进入Kafka配置目录,D:\Java\Tool\kafka_2.11-0.10.0.1
- 编辑文件“server.properties”
- 找到并编辑log.dirs=D:\Java\Tool\kafka_2.11-0.10.0.1\kafka-log,这里的目录自己修改成自己喜欢的
- 找到并编辑zookeeper.connect=localhost:2181。表示本地运行
- Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181。
运行:
重要:请确保在启动Kafka服务器前,Zookeeper实例已经准备好并开始运行。
1.进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1
2.按下Shift+右键,选择“打开命令窗口”选项,打开命令行。
3.现在输入
.\bin\windows\kafka-server-start.bat .\config\server.properties
并回车。
image.png
四、测试
上面的Zookeeper和kafka一直打开
(1)、创建主题
1.进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1
2.按下Shift+右键,选择“打开命令窗口”选项,打开命令行。
3.现在输入
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic linlin
image.png
注意不要关了这个窗口!
(2)创建生产者
1.进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1
2.按下Shift+右键,选择“打开命令窗口”选项,打开命令行。
3.现在输入
image.png
注意不要关了这个窗口!
(3)创建消费者
1.进入Kafka安装目录D:\Java\Tool\kafka_2.11-0.10.0.1
2.按下Shift+右键,选择“打开命令窗口”选项,打开命令行。
3.现在输入
image.png
注意不要关了这个窗口!
然后在第2个窗口中输入内容,最后记得回车
image.png
大功告成!
使用Java编写的kafka使用实例如下:
http://blog.csdn.net/evankaka/article/details/52494412
本文参考:
https://blog.csdn.net/evankaka/article/details/52421314
感谢!
网友评论