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
 7- vim ./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)