Apache Kafka(二):CentOS 7下安装Apache Kafka
系统要求
Kafka 服务端代码是用 Scala 开发语言编写的,Scala 是 JVM 系语言中的一种,这意味着用 Scala 编写的源代码编译之后也是 Java 字节码,并运行在 Java 虚拟机上。因此,在开始安装 Kafka 之前,我们需要先在系统上安装 JDK(Java SE Development Kit, Java SE开发套件),JDK 包含的 JRE(Java SE Runtime Environment,Java 运行时环境)是运行 Java 应用程序所必需的。
多数情况下,推荐安装 JDK 8 及以上的版本,因为 Kafka 自 2.0.0 版本开始,就已经正式摒弃对 Java 7 的支持了。本文安装示例采用的是 JDK 8 版本。
在 CentOS 7 安装 JDK 可参考这篇博文—— CentOS7下安装JDK1.8
另外,运行 Kafka 还需要安装 Apache ZooKeeper 服务,该服务是用来同步分布式进程。ZooKeeper 安装可参考这篇博文——在CentOS7系统安装和配置ZooKeeper。
安装Kafka
推荐将 Kafka 安装在 Unix 操作系统(如 Solaris)或 Linux 操作系统(如 CentOS)上。这是因为在 Windows 系统上可获得的支持有限。
本安装示例选择的是 CentOS 7 系统。具体安装步骤如下:
从 Kafka 官网下载页 https://kafka.apache.org/downloads 获取安装文件,当前最新的稳定版本是 2.4.1,于 2020 年 3 月 12 日发行。这里选择下载二进制文件 kafka_2.12-2.4.1.tgz。
1
wget https://mirror.bit.edu.cn/apache/kafka/2.4.1/kafka_2.12-2.4.1.tgz
创建 Kafka 安装目录:
1
mkdir /usr/local/kafka
解压缩文件 kafka_2.12-2.4.1.tgz 至目录
/usr/local/kafka
:1
tar xvzf kafka_2.12-2.4.1.tgz -C /usr/local/kafka --strip 1
进入目录
/usr/local/kafka
,可以看到以下子目录:1
2
3
4
5
6
7
8
9[root@185 home]# cd /usr/local/kafka/
[root@185 kafka]# ll
总用量 56
drwxr-xr-x 3 root root 4096 3月 3 08:34 bin
drwxr-xr-x 2 root root 4096 3月 3 08:34 config
drwxr-xr-x 2 root root 8192 3月 19 15:06 libs
-rw-r--r-- 1 root root 32216 3月 3 08:32 LICENSE
-rw-r--r-- 1 root root 337 3月 3 08:32 NOTICE
drwxr-xr-x 2 root root 44 3月 3 08:34 site-docs其中,
/bin
目录下是操作 Kafka 的可执行脚本(.sh 文件),还包含在 windows 系统下的可执行脚本(.bat 文件),包括 Kafka 启动/停止脚本、消费者性能测试脚本、生产者性能测试脚本、分区重分配脚本等;/config
目录是存放配置文件;/libs
目录是存放依赖库文件;/logs
目录存放的是 Kafka 的运行日志文件。
打开配置文件
config/server.properties
,修改 listeners 配置和 zookeeper 地址,具体如下:1
2
3
4
5
6
7vim ./config/server.properties
监听地址
listeners=PLAINTEXT://172.16.1.182:9092
zookeeper 地址
zookeeper.connect=172.16.1.188:2181在启动 Kafka 服务之前,为保障系统安全,添加运行 Kafka 服务的账号,并以较低权限账号运行 Kafka 服务,且禁用该账号的
ssh
登录权限。1
2
3
4
5
6
7
8
9添加 kafka 账号
useradd kafka
设置 kafka 账号密码
passwd kafka
将目录的所有者和组设置为 kafka
chown -R kafka:kafka /usr/local/kafka/为保障系统安全,添加运行 Kafka 服务的账号,并以较低权限账号运行 Kafka 服务,且禁用该账号的登录权限。
切换至 kafka 账号:
1
su kafka
启动 Kafka 服务,
1
./bin/kafka-server-start.sh ./config/server.properties
以守护进程(后台进程)的方式启动:
1
./bin/kafka-server-start.sh ./config/server.properties &
停止 Kafka 服务:
1
./bin/kafka-server-stop.sh
(END)