不使用Docker如何使用Kafka Connect?已完成Udemy Docker版相关课程
不用Docker部署运行Kafka Connect的实操步骤
1. 环境前置准备
- 确保本地安装了Java 8及以上版本,执行
java -version验证版本符合要求。
2. 安装Apache Kafka(Kafka Connect依赖Kafka集群)
- 下载Apache Kafka官方二进制发行包,解压到本地任意目录:
tar -xzf kafka_2.13-3.6.0.tgz cd kafka_2.13-3.6.0
3. 启动核心依赖服务
方式1:基于ZooKeeper(课程常用模式)
- 启动ZooKeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties & - 启动Kafka Broker:
bin/kafka-server-start.sh config/server.properties &
方式2:基于KRaft(新版Kafka可选,无需ZooKeeper)
- 先初始化KRaft集群ID:
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)" bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties - 启动KRaft模式的Kafka Broker:
bin/kafka-server-start.sh config/kraft/server.properties &
4. 配置Kafka Connect
- 复制并修改默认配置文件(以分布式模式为例,对应课程常用场景):
cp config/connect-distributed.properties my-connect-config.properties - 编辑
my-connect-config.properties,修改关键配置项:bootstrap.servers=localhost:9092 # 指向你的Kafka Broker地址 group.id=connect-cluster # Connect集群标识 key.converter=org.apache.kafka.connect.json.JsonConverter value.converter=org.apache.kafka.connect.json.JsonConverter plugin.path=/path/to/your/connectors # 自定义连接器jar包存放目录(按需设置)
5. 启动Kafka Connect
bin/connect-distributed.sh my-connect-config.properties &
6. 验证与使用
- 检查Connect服务状态:
返回空数组则说明服务正常运行。curl http://localhost:8083/connectors - 加载课程中的示例连接器(比如文件源连接器):
- 创建连接器配置文件
file-source-config.json:
{ "name": "file-source-connector", "config": { "connector.class": "org.apache.kafka.connect.file.FileStreamSourceConnector", "tasks.max": "1", "file": "/path/to/your/input.txt", "topic": "test-topic" } }- 提交连接器:
curl -X POST -H "Content-Type: application/json" --data @file-source-config.json http://localhost:8083/connectors- 查看连接器状态:
curl http://localhost:8083/connectors/file-source-connector/status - 创建连接器配置文件
补充:单节点独立模式(适合测试)
如果不需要分布式集群,可直接用独立模式启动:
bin/connect-standalone.sh config/connect-standalone.properties config/file-stream-source.properties
注意事项
- 确保端口未被占用(ZooKeeper默认2181、Kafka默认9092、Connect默认8083)
- 自定义连接器需将jar包放入
plugin.path指定目录,重启Connect生效 - 排查问题可查看
logs目录下的Connect日志文件
内容的提问来源于stack exchange,提问作者Sarindra Thérèse
相关产品推荐
相关产品推荐

