Kafka在单节点主机上的搭建

Kafka 简介

Kafka 作为一个高吞吐量的分布式发布订阅消息系统,目前广泛的作为消息中间件被使用在互联网各大业务领域。最近由于在学习日志分析相关的技术,故需要 Kafka 作为日志信息中间件,在此记录单节点示例 Kafka 搭建流程。

环境介绍

本示例所基于的操作系统版本是 Centos 6.8。Kafka 版本为 1.1.0。该版本是在 Kafka 官方消除四位版本号之后的目前最新版本。
由于 Kafka 通过依赖 zookeeper 来进行维护和协调 broker,所以在安装 kafka 时需要安装 zookeeper。本例采用 zookeeper 3.4.10 版本。
本例中 zookeeper 和 kafka 均存在于系统的 /usr/local 目录下,该目录可以根据实际需求自行更改。

zookeeper 安装

zookeeper 使用 wget 进行下载。北京理工大学 zookeeper 3.4.10 版本复制此链接

复制到指定目录并解压

1
2
cp zookeeper-3.4.10.tar.gz /usr/local
tar -zxvf zookeeper-3.4.10.tar.gz

增加 zk 路径到环境变量

编辑 /etc/profile 文件,增加 zookeeper 变量,具体如下

1
vi /etc/profile

增加

1
2
3
4
# 注,此处按照自己实际 zookeeper 存储位置进行定义
export ZOOKEEPER_INSTALL=/usr/local/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin

使修改内容生效

1
source /etc/profile

根据 template 创建 zoo.cfg

在 zookeeper 根目录进入 conf 文件夹,并复制 zoo.cfg

1
2
cd conf
cp zoo_sample.cfg zoo.cfg

zoo.cfg 将作为启动 zookeeper 时的配置文件

启动 zookeeper 服务

在 zookeeper 根目录进入 bin 文件夹,启动

1
2
cd bin
./zkServer.sh start

即可启动

kafka 安装

kafka 使用 wget 进行下载。北京理工大学镜像地址 kafka_2.11-1.1.0 版本 复制此链接

解压并移动到文件夹

1
2
cp kafka_2.11-1.1.0.tgz /usr/local
tar -zxvf kafka_2.11-1.1.0.tgz

启动 kafka

首先确定 zookeeper 已经成功启动并运行在 2181 端口
在 kafka 根目录 进入 bin 文件夹,启动

1
2
3
4
cd bin
./kafka-server-start.sh ../config/server.properties
#启动时可以通过添加 -daemon 来使该进程以守护进程形式运行

启动后可以通过

1
ps -ef | grep kafka

可通过该命令查看进程运行状况,判断 kafka 是否启动成功

kafka 简单示例使用

kafka 以 topic 为基础单位,我们可以通过 bin 下的脚本来进行 topic 创建。

1
2
cd bin
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

test 为测试的 topic 名,根据实际需求可以进行更换

创建完成后可以同样通过该脚本查看当前已创建的topic

1
./kafka-topics.sh --list --zookeeper localhost:2181

创建生产者,向 topic 里写数据

1
./kafka-console-producer.sh --broker-list localhost:9092 --topic test

该命令输入后可输入写入的数据

创建消费者,消费数据

1
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

消费者可以看到生产者生产的数据,测试成功

小结

本例展示了单节点 kafka 的一个搭建示例,通过修改配置文件,可以实现 kafka 的多节点部署。