/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
一、前言
kafka是基于jdk和zk上运行的,安装kafka前必须安装jdk和zk。
二、jdk安装
2.1 下载jdk
安装文件:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载JDK
2.2 设置环境变量
2.2.1 windows环境下需要设置
安装完成后需要添加以下的环境变量(右键点击“我的电脑” -> “高级系统设置” -> “环境变量” ):
JAVA_HOME: D:\\Program Files\\java\\jdk1.8.0_91 (jdk的安装路径)
Path: 在现有的值后面添加"; %JAVA_HOME%\\bin"
2.2.2 linux环境下需要设置
编辑用户profile
vi ~/.bash_profile
增加以下设置:
export JAVA_HOME=/opt/esb/jdk1.7.0_80 (jdk的安装路径) export JAVA_BIN=
J
A
V
A
H
O
M
E
/
b
i
n
e
x
p
o
r
t
P
A
T
H
=
JAVA_HOME/bin export PATH=
JAVAHOME/binexportPATH=JAVA_BIN:
P
A
T
H
:
PATH:
PATH:HOME/bin export CLASSPATH=.:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
:
JAVA_HOME/lib/dt.jar:
JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar export PATH CLASSPATH
增加完成后执行:
source ~/.bash_profile
2.3 校验
打开cmd运行 java -version 查看当前系统Java的版本: 
三、zookeeper安装
Kafka 集群中有一个 broker 会被选举为 Controller,负责管理集群 broker 的上下线,所有 topic 的分区副本分配和 leader 选举等工作。Controller 的管理工作都是依赖于 Zookeeper 的。
3.1 下载zk
安装文件 http://zookeeper.apache.org/releases.html 下载zk
3.2 配置
解压安装包到目标位置,conf,把zoo_sample.cfg重命名成zoo.cfg,并打开zoo.cfg,把dataDir的值改成
dataDir=…\\data
3.3 启动
进入zk文件目录,执行以下命令,
3.3.1 windows环境
bin\\windows\\zookeeper-server-start.bat config\\zookeeper.properties
3.3.2 linux环境
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
或者
./bin/zookeeper-server-start.sh start
四、kafka安装
4.1 下载kafka
下载路径: http://kafka.apache.org/downloads
4.2 配置
解压安装包到目标位置,打开config下server.properties文件,把log.dirs修改为:
log.dirs=logs
server.properties更多可用配置及含义如下:
#broker 的全局唯一编号,不能重复
broker.id=0
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
4.3 启动kafka
进入kafka文件目录,执行以下命令,启动kafka通讯的服务器broker
4.3.1 windows环境
bin\\windows\\kafka-server-start.bat .\\config\\server.properties
4.3.2 linux环境
./bin/kafka-server-start.sh config/server.properties
五、测试
5.1 创建消息topics
进入kafka文件目录\\bin\\windows,执行以下命令
kafka-topics.bat –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test
这条命令的意思是,创建一个Topic到ZK(指定ZK的地址),副本个数为1,分区数为1,Topic的名称为test。
Linux对应的命令为:
./bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test
在较新版本(2.2 及更高版本)的 Kafka 不再需要 ZooKeeper 连接字符串,即- -zookeeper localhost:2181。使用 Kafka Broker的 –bootstrap-server localhost:9092来替代- -zookeeper localhost:2181。
./bin/kafka-topics.sh –bootstrap-server localhost:9092 –create –replication-factor 1 –partitions 1 –topic test
5.2 查看topics
创建好后我们可以查看Kafka里的Topic列表:
bin\\windows\\kafka-topics.bat –list –zookeeper localhost:2181
Linux对应的命令为:
./bin/kafka-topics.sh –list –zookeeper localhost:2181
2.2及更高版本
./bin/kafka-topics.sh –list –bootstrap-server localhost:9092
查看test Topic的具体信息:
bin\\windows\\kafka-topics.bat –describe –zookeeper localhost:2181 –topic test

Linux对应的命令为:
./bin/kafka-topics.sh –describe –zookeeper localhost:2181 –topic test
2.2及更高版本
./bin/kafka-topics.sh –describe –bootstrap-server localhost:9092 –topic test
5.2 创建Producer
分别打开cmd窗口,进入kafka文件目录\\bin\\windows,执行下面命令
kafka-console-producer.bat –broker-list localhost:9092 –topic test
Linux下对应的命令为:
kafka-console-producer.sh –broker-list localhost:9092 –topic test
5.3 创建Consumer
分别打开cmd窗口,进入kafka文件目录\\bin\\windows,执行下面命令
kafka-console-consumer.bat –bootstrap-server localhost:9092 –topic test
Linux下对应的命令为:
./bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test
5.4 发送消息测试

六、常用命令
6.1 查看当前服务器中的所有 topic
./bin/kafka-topics.sh –list –zookeeper localhsot:2181
2.2及更高版本
./bin/kafka-topics.sh –list –bootstrap-server localhost:9092
windows对应的命令为:
kafka-topics.bat –list –zookeeper localhost:2181
6.2 删除 topic
./bin/kafka-topics.sh –zookeeper localhost:2181 –delete –topic test
2.2及更高版本
./bin/kafka-topics.sh –bootstrap-server localhost:9092 –delete –topic test
windows对应的命令为:
kafka-topics.bat –zookeeper localhost:2181 –delete –topic test
注意:需要 server.properties 中设置delete.topic.enable=true否则只是标记删除。
6.3 查看某个 Topic 的详情
./bin/kafka-topics.sh –zookeeper localhost:2181 –describe –topic test
2.2及更高版本
./bin/kafka-topics.sh –bootstrap-server localhost:9092 –describe –topic test
windows对应的命令为:
kafka-topics.bat –zookeeper localhost:2181 –describe –topic test
6.4 修改分区数
./bin/kafka-topics.sh –zookeeper localhost:2181 –alter –topic test –partitions 2
2.2及更高版本
./bin/kafka-topics.sh–bootstrap-server localhost:9092 –alter –topic test –partitions 2
windows对应的命令为:
kafka-topics.bat –zookeeper localhost:2181 –alter –topic test –partitions 2
七、可视化工具 kafka Tool
7.1 下载
下载地址: http://www.kafkatool.com/download.html
7.2 配置

7.3 监控



