- 前言
- 1. 下载
- 2. 文件配置
- 3. 环境变量
- 4. 启动
并不是所有的服务器都要对应安装zookeper和kafka
2.8.0之后已经有可以替换zookeper的版本
一般都有生产者和消费者以及配置集群
生产者和消费者都是由java语言编写,broker是由scara编写
下载对应的版本号:官方下载
以下文章对应的版本号是Scala 2.12 - kafka_2.12-3.0.0.tgz (asc, sha512)
下载完成之后,传输到服务器进行压缩:scp -r kafka_2.12-3.0.0.tgz root@ip地址:/路径
传输到服务器之后即可看到有这个文件
创建一个子目录(创建子目录时候加入-p 参数)用来存放解压缩的文件(tar -zxvf)
root@gaokaoli:~# mkdir -p /opt/module root@gaokaoli:~# tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
解压之后对应在其目录更改名字,查看文件信息:
root@gaokaoli:/opt/module# ls kafka_2.12-3.0.0 root@gaokaoli:/opt/module# mv kafka_2.12-3.0.0/ kafka root@gaokaoli:/opt/module# ls kafka root@gaokaoli:/opt/module# cd kafka/2. 文件配置
最主要的三个文件:
-
bin(存放启动、停止、注册等脚本)
每个模块都有对应的脚本
生产者:kafka-console-producer.sh
集群配置:kafka-topics.sh
消费者:kafka-console-consumer.sh -
config是配置信息(内部有生产者消费者以及服务端的配置)
-
libs(依赖的第三方jar包)
看懂配置之后,修改配置参数的信息,在config的目录中通过vim server.properties
修改的配置信息大致有如下:
- kafka的唯一标识broker.id,不能重复,唯一
- log.dirs 存储的数据(临时数据会被清除),所以要设置一个数据
- zookerper.connect的连接参数(默认是连接本地的kafka),增加zookeeper.connect=manongkafka:2181/kafka,在目录中后要加入kafka(不加的话 会将其kafka打散在其zookeeper中,不利后续管理)
修改配置文件截图如下:
完整参数大致如下:
一般修改kafka id、log.dirs、zookerper.connect的值(除了这三个都是默认值)
#broker全局唯一id不可重复 broker.id=0 #网络请求线程数量 num.network.threads=3 #处理磁盘IO线程数量 num.io.threads=8 #发送套接字缓冲区大小 socket.send.buffer.bytes=102400 #接收套接字缓冲区大小 socket.receive.buffer.bytes=102400 #请求套接字的缓冲区最大值 socket.request.max.bytes=104857600 #kafka 数据存放位置(自动创建,不需提前创建) # 多个磁盘路径之间用","分隔 log.dirs=/opt/module/kafka/datas #topic 在当前 broker 上的分区个数 num.partitions=1 #恢复清理 data 数据的线程数量 num.recovery.threads.per.data.dir=1 # 各个 topic 创建的副本数 offsets.topic.replication.factor=1 # segment文件保留的最长时间,超时将被删除 log.retention.hours=168 # 每个segment大小(1G) log.segment.bytes=1073741824 # 多久检查过期数据(5分钟) log.retention.check.interval.ms=300000 #配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理) zookeeper.connect=manongkafka:2181/kafka
配置完成之后,通过xsync进行分发到各个服务器(xsync主要基于rsync的二次封装),如果服务器少可以使用scp进行分发复制或者手动
如果是单机版,只有一个,可以不执行xsync分发命令
在配置整体的环境变量
通过vim /etc/profile
底部代码输入如下,wq保存退出
export KAFKA_HOME=/opt/module/kafka export PATH=$PATH:$KAFKA_HOME/bin
使配置生效:source /etc/profile
查看环境变量是否生效:echo $KAFKA_HOME
整个kafka就已经安装完毕,启动kafka即可
启动kafka之前需要启动zookeeper
执行:bin/zookeeper-server-start.sh config/zookeeper.properties
之后执行命令启动kafka
执行:bin/kafka-server-start.sh -daemon config/server.properties
通过jps可以看到kafka的进程已经启动了
暑期编程PK赛 得CSDN机械键盘等精美礼品!


