这篇文章主要讲解kafka单机安装,以及集群安装。kafka的单机安装非常简单,只需按照下一段落提到的几步操作即可。
单机安装
下载
首先从官方下载安装包,官方地址:http://kafka.apache.org/downloads
。kafka安装包和一般安装包的命名方式不一样,我们看一个kafka包命名:kafka_2.11-1.1.0.tgz
,其中2.11是scala的版本,1.1.0才是kafka的版本。官方强烈建议scala版本和服务器上的scala版本保持一致,避免引发一些不可预知的问题。官方原文如下:
We build for multiple versions of Scala. This only matters if you are using Scala and you want a version built for the same Scala version you use. Otherwise any version should work (2.11 is recommended).解压
将安装包放到服务器上某个位置,执行如下命令:
[afei@kafka opt]$ tar -xzf kafka_2.11-1.1.0.tgz
[afei@kafka opt]$ cd kafka_2.11-1.1.0
- 启动zk
kafka依赖zookeeper,zookeeper集群可以自己搭建,也可以用kafka安装包中内置的shell脚本启动zookeeper。
如果已经安装了zk单机或者zk集群(单机或者集群都可以,取决于你对高可用的要求),那么可以跳过这一步:
[afei@kafka kafka_2.11-1.1.0]$ bin/zookeeper-server-start.sh config/zookeeper.properties
[2018-06-21 15:10:14,449] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2018-06-21 15:10:14,466] INFO autopurge.snapRetainCount set to 3 (org.apache.zookeeper.server.DatadirCleanupManager)
[2018-06-21 15:10:14,466] INFO autopurge.purgeInterval set to 0 (org.apache.zookeeper.server.DatadirCleanupManager)
[2018-06-21 15:10:14,467] INFO Purge task is not scheduled. (org.apache.zookeeper.server.DatadirCleanupManager)
... ...
这种启动方式如果执行ctrl+z后会退出,启动的进程也会退出,所以建议增加
-daemon
参数启动:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
说明:笔者后面的测试,假设在10.0.55.209上部署了独立zk,而不是通过kafka安装包中的脚本部署zk,且端口为默认端口2181。
- 配置
启动kafka之前,需要确认一些配置信息,kafka的配置信息在config/server.properties文件中,笔者配置kafka直接显示指定绑定的ip为10.0.55.229
,所以需要增加如下一下配置:
host.name=10.0.55.229
port=9092
listeners=PLAINTEXT://