kafka_2.12-2.4.x-安装部署(单机)

准备 zookeeper

kafka依赖zookeeper

kafka内置了zookeeper,在 kafka_2.12-2.4.1\libs 目录下有zookeeper的jar包。
但一般不用内置的

kafka_2.12-2.4.1 版本 需要zookeeper 3.5.7 版本

注意:kafka 频繁与 zookeeper通信,所以通常部署在同一台服务器上

安装(linux)

  1. zookeeper-3.4.x 单机安装部署

  2. zookeeper-3.4.x 单机启动、停止服务、查看服务状态、jps

在 hadoop1 上安装

登录到 hadoop1 虚拟机,执行下面操作

上传

上传到 /program 目录下

解压

解压 到 /program 目录下:

tar zxvf kafka_2.12-2.4.1.tgz --no-same-owner

配置kafka

kafka配置文件较多,在 kafka_2.12-2.4.1目录\config 目录下

  • server.properties:kafka服务配置文件

  • consumer.properties:消费者配置文件,用于命令操作,测试

  • producer.properties:生产者配置文件,用于命令操作,测试

  • zookeeper.properties:内置zookeeper配置文件,一般不用内置的

修改 server.properties 文件

进入 /program/kafka_2.12-2.4.1/config/ 目录

cd /program/kafka_2.12-2.4.1/config/

编辑该文件

vim server.properties

配置 broker.id

broker 相当于 节点,如果集群中有多个 broker,其 id 是不一样的,依次进行编号

broker.id=0

配置数据文件夹

修改配置如下:

log.dirs=/program/kafka_2.12-2.4.1/data

注意:这里名字是 log.dir 其实不是日志,是数据文件

配置kafka端口号

默认是9092

listeners=PLAINTEXT://:9092

解释:kafka有多种认证方式,PLAINTEXT 表示用的是 明文

配置zookeeper

配置zookeeper 集群服务器ip、端口号

zookeeper.connect=hadoop1:2181

其他配置

一般不需要修改

#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168

配置 环境变量(可选)

vim /etc/profile.d/bigdata_env.sh

在末尾添加下面内容:

export KAFKA_HOME=/program/kafka_2.12-2.4.1
export PATH=${KAFKA_HOME}/bin:$PATH

立即生效:

source /etc/profile

启动、停止命令

kafka_2.12-2.4.x-启动、停止(单机)


原文出处:/show_1IX3SJWvKuyz.html