消息中间件kafka部署(一、使用kafka内置zookeepe
今天来说一说消息中间件kafka的单节点部署,后续会有集群部署,使用外部zookeeper服务进行单节点部署以及集群部署的系列文章,想了解更多请关注笔者文集《kafka从零到应用》;也欢迎各位大佬投稿笔者创建的专栏《kafka应用》;
1、Kafka官网下载安装包 http://kafka.apache.org/downloads.html
官网提供了源码包(需自行编译)和编译好的可直接使用的安装包,本文采用的是编译好的。
2、将安装包上传至服务器并解压,如下图第一个是解压出来的,第二个是上传到服务器上的安装包(暂时忽略kafka-logs文件夹)。
3、这一步开始进行配置。进入解压出来的目录
kafka自带了zookeeper组件,单节点kafka服务我们可以使用自带的zookeeper组件。在config文件夹下找到zookeeper.properties打开内容如下
dataDir为zookeeper的数据目录,可自定义;
clientPort为zookeeper监听的端口号;
如果想自定义可按照自己的规划进行配置,切记自定义文件夹必须存在,这里笔者采用默认数据,保存后接下来配置kafka的配置文件server.propertis
broker.id kafka节点的标识
advertised.listeners=PLAINTEXT://10.224.25.21:9092 配置监听,修改为本机ip
num.network.threads=3 处理网络请求的线程数量,默认
num.io.threads=8 用来处理磁盘IO的线程数量,默认
socket.send.buffer.bytes=102400 发送套接字的缓冲区大小,默认
socket.receive.buffer.bytes=102400 接收套接字的缓冲区大小,默认
socket.request.max.bytes=104857600 请求套接字的缓冲区大小,默认
zookeeper.connect=10.224.25.21:2181 zookeeper连接地址
log.dirs=/usr/local/kafka_2.11-1.0.0/log/kafka kafka的运行日志存放路径(此处笔者为方便管理采用自定义统一路径的方式,还记得第二部忽略的kafka-logs文件夹吗,对,就是他)
num.partitions=3 topic 在当前broker上的分片个数,与broker保持一致
num.recovery.threads.per.data.dir=1 用来恢复和清理data下数据的线程数量,默认
log.retention.hours=168 segment文件保留的最长时间,超时将被删除,默认
log.roll.hours=168 滚动生成新的segment文件的最大时间,默认
4、接下来该启动kafka服务了,
进入解压完之后的kafka目录下的bin文件夹,执行以下命令启动zookeeper
./zookeeper-server-start.sh config/zookeeper.properties
然后启动kafka
./kafka-server-start.sh config/server.properties
上面这种kafka启动方式在你退出之后会停止运行,所以我们需要以守护进程模式启动kafka,执行下面的命令
./kafka-server-start.sh –daemon config/server.properties &
到这里单节点的kafka就部署完了。
如有问题,欢迎各位大佬指正