单机版kafka搭建及数据流通测试【linux版:适用于新手】
一.单机版kafka搭建
1.下载kafka安装包:
# 下载地址:http://kafka.apache.org/downloads.html
Source download: kafka-2.3.1-src.tgz (asc, sha512) # kafka源码,需要自行编译
Scala 2.12 - kafka_2.12-2.3.1.tgz (asc, sha512) # 已经编译完成的压缩包,解压即用【新手包】
2.安装kafka服务:
# 将下载好的kafka压缩包导入到目标文件夹,推荐 /usr/local/ 文件夹
[root ~]# cd /usr/local/ # 进入放置安装包的路径
[root local]# tar -zvxf kafka_2.12-2.3.1.tgz # 解压kafka压缩包
# 安装完成
3.启动zookeeper服务:
# 首先必须明确,启动kafka服务前,必须先启动zookeeper服务
# 为了方便启动配置文件时路径的选择,接下来的命令均在 /usr/local/kafka_2.12-2.3.1 目录下进行
# 启动zookeeper服务
[root kafka_2.12-2.3.1]# bin/zookeeper-server-start.sh -daemon config/zookeeper.properties&
# 命令最后的 & 是为了让服务在后台保持运行,请不要遗漏
[root kafka_2.12-2.3.1]# ps -ef | grep zookeeper # 验证zookeeper服务是否正常启动
# zookeeper服务默认的端口号为2181,相关配置文件为 /config/server.properties,此处不更改,为默认参数
4.启动kafka服务
# 确保zookeeper服务启动成功后,启动kafka服务
[root kafka_2.12-2.3.1]# bin/kafka-server-start.sh -daemon config/server.properties&
[root kafka_2.12-2.3.1]# ps -ef | grep kafka # 验证kafka服务是否正常启动
# kafka服务默认的端口号为9092,相关配置文件为 /config/connect-distributed.properties,此处不更改,为默认参数
# kafka安装部署完毕,接下来进入数据流通测试
二.kafka数据流通测试
1.建立topic:
[root kafka_2.12-2.3.1]# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafka_topic_test
# 命令末尾的 kafka_topic_test 是我自行创建的topic的名称,大家可以随意发挥
2.准备数据源:
[root kafka_2.12-2.3.1]# touch /data/kafka_test.txt
[root kafka_2.12-2.3.1]# echo "hi kafka" > /data/kafka_test.txt # 若没有data文件夹,请先创建
3.修改配置文件:
# 修改 connect-file-source.properties 文件
[root kafka_2.12-2.3.1]# vim config/connect-file-source.properties
name=local-file-source
connector.class=FileStreamSource
tasks.max=1
file=/data/kafka_test.txt # 地址为上文中数据源的文件地址
topic=kafka_topic_test # topic为上文中自行创建的topic名称
# 修改 connect-file-sink.properties 文件
[root kafka_2.12-2.3.1]# vim connect-file-sink.properties
name=local-file-sink
connector.class=FileStreamSink
tasks.max=1
file=/data/newdata.txt # 不需要提前建立接收数据的文件,此处可自动创建
topics=kafka_topic_test # topic为上文中自行创建的topic名称
4.启动kafka-connect:
# 启动kafka-connect,开始传输数据
[root kafka_2.12-2.3.1]# nohup bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties&
# nohup 标准输出和标准错误缺省会被重定向到 nohup.out 文件中,配合 & 使用效果最佳
5.验证数据是否到达指定目标文件:
[root kafka_2.12-2.3.1]# cat /data/newdata.txt
hi kafka # 恭喜你,你的kafka服务已经正常工作
[root kafka_2.12-2.3.1]# echo "let's do it again" >> /data/kafka_test.txt
[root kafka_2.12-2.3.1]# cat /data/newdata.txt
hi kafka
let's do it again # 数据持续流通中
三.总结
本文提供最基础的的kafka安装部署方式, 不涉及kafka优化调试,若有兴趣继续深入了解,可仔细研究下上文中提到的几个配置文件,尝试下集群kafka的搭建。
参考:https://blog.csdn.net/CryingLeftHand/article/details/90408408
参考:https://blog.csdn.net/u010472499/article/details/78356795