kafka是一个由linkedin公司开发的分布式发布-订阅消息系统;它可以运行在windows、MacOS和linux操作系统上,本文介绍的kafka安装主要是在linux系统上进行。
在开始安装kafka应用程序之前,首先要检查系统中是否已经安装好了JDK和Zookeeper;JDK建议安装jdk8以上版本,zookeeper安装请访问https://zookeeper.apache.org/releases.html
下载最新的安装包进行安装。
如果jdk和zookeeper安装好之后,现在开始kafaka的安装:
-
kafka软件包的下载地址, 以下载
kafka_2.5.0
版本为例:http://kafka.apache.org/downloads
-
下载好安装包以后,本文约定将kafka安装在
/usr/local/kafka
目录下,将安装包上传到/usr/local/kafka
目录下,然后解压到当前文件;$ tar -xvf kafka_2.13-2.5.0.tgz
-
接下来修改配置文件;
$ cd /usr/local/kafka/kafka_2.13-2.5.0/config/ $ vim server.properties
以下是一些基本的配置,往往需要经过修改之后才能用在集群中的:
# 每一个broker都需要一个标识符,就用brokerId来表示,可以设置成一个唯一的确定的整数 broker.id=0 # 保存日志数据的目录 log.dirs=/tmp/kafka-logs # 指定zookeeper的地址,用于保存kafka元数据;如果指定路径不存在,则在启动broker的时候会创建它;格式为: # hostname1:port1,hostname2:port2,hostname3:port3 zookeeper.connect=node01:2181,node02:2181,node03:2181 # 允许删除主题。如果该配置被关闭,通过管理工具删除主题将没有任何效果 delete.topic.enable=true
更详细的配置信息,参考官网文档
http://kafka.apache.org/documentation/#configuration
-
配置好后,将kafa_2.13-2.5.0文件夹分发到其它的机器上去:
scp -r /usr/local/kafka/kafka_2.13-2.5.0 node02:$PWD scp -r /usr/local/kafka/kafka_2.13-2.5.0 node03:$PWD
然后修改每台机器中的
broker.id
,使其唯一。 -
启动集群
启动kafka之前,先确保zookeeper已经成功启动;启动方式有以下几种:
# 前台启动 $ cd /usr/local/kafka/kafka_2.13-2.5.0 $ bin/kafka-server-start.sh config/server.properties # 后台启动 $ cd /usr/local/kafka/kafka_2.13-2.5.0 $ nohup bin/kafka-server-start.sh config/server.properties & # 或者 $ nohup bin/kafka-server-start.sh config/server.properties > dell/null 2>&1 &
-
查看是否启动成功
# 如果有kafkai进程存在,那么就算启动成功了 jps
-
关闭kafka
只需要在node01的kafka目录下执行停止kafka即可
$ cd /usr/local/kafka/kafka_2.13-2.5.0 $ bin/kafka-server-stop.sh