Docker 快速部署单节点 NiFi 1.27
前言
Apache NiFi 是一款强大的数据集成工具,专注于数据的采集、处理和分发,具有可视化流程设计、强大的容错能力等特点。通过 Docker 部署可以快速搭建环境,省去复杂的配置步骤。本文介绍如何使用官方镜像部署单节点 NiFi 1.27。
环境准备
- 已安装 Docker 环境(Docker 安装指南)
- 确保 Docker 服务正常运行
- Linux/Mac:
systemctl start docker
或service docker start
- Windows:在服务中启动 Docker 服务
- Linux/Mac:
部署步骤
1. 拉取 NiFi 1.27 官方镜像
打开终端/命令提示符,执行以下命令拉取官方镜像:
docker pull apache/nifi:1.27.0
2. 启动 NiFi 容器
使用以下命令启动 NiFi 容器,包含端口映射和数据持久化配置:
docker run -d --name nifi-1.27 -p 8080:8080 -e NIFI_WEB_HTTP_PORT=8080 -v nifi_data:/Users/xuyy/tool/docker/nifi-1.27.0/data apache/nifi:1.27.0
3. 验证部署
- 访问 Web 界面:打开浏览器,访问
http://localhost:8080/nifi
(首次启动可能需要 1-2 分钟,耐心等待) - 查看容器日志:若启动异常,可通过日志排查问题:
docker logs -f nifi-1.27
关键配置说明
1. 端口映射
若默认的 8080 端口被占用,可修改端口映射参数,示例如下(改用 9090 端口):
docker run -d --name nifi-1.27 -p 9090:9090 -e NIFI_WEB_HTTP_PORT=9090 apache/nifi:1.27.0
- 格式说明:
-p 主机端口:容器端口
,需保证两者一致 - 访问地址相应变为:
http://localhost:9090/nifi
2. 数据持久化
通过 -v
参数挂载数据卷,确保容器删除后配置和数据不丢失:
- 使用 Docker 数据卷(推荐):
nifi_data
是自动创建的 Docker 数据卷,会持久化存储 NiFi 的配置、状态和流数据:-v nifi_data:/opt/nifi/nifi-1.27.0/data
- 挂载本地目录:
也可直接映射到本地目录(需替换为实际路径):-v /本地绝对路径:/opt/nifi/nifi-1.27.0/data
3. 自定义配置
如需修改 NiFi 核心配置(如 nifi.properties
),可通过挂载文件覆盖默认配置:
docker run -d --name nifi-1.27 -p 8080:8080 -v /本地路径/nifi.properties:/opt/nifi/nifi-1.27.0/conf/nifi.properties apache/nifi:1.27.0
- 先从容器中复制默认配置文件:
docker cp nifi-1.27:/opt/nifi/nifi-1.27.0/conf/nifi.properties /本地路径/
- 修改后再通过上述命令挂载生效
常见问题
-
容器启动失败:
检查端口是否被占用(Linux:netstat -tulpn | grep 8080
;Windows:netstat -ano | findstr "8080"
),或通过日志定位错误。 -
权限问题:
挂载本地目录时,若出现权限错误,可临时调整目录权限:chmod 777 /本地路径
(生产环境需谨慎设置)。 -
数据丢失风险:
未配置数据卷挂载时,删除容器会导致所有配置和流程丢失,务必做好持久化配置。
总结
通过 Docker 部署 NiFi 1.27 无需复杂的环境配置,几步即可完成搭建。根据实际需求调整端口、数据挂载方式和配置文件,可快速适配开发测试或生产环境,适合新手快速上手 NiFi。