Docker 快速部署單節點 NiFi 1.27

Docker 快速部署單節點 NiFi 1.27

前言

Apache NiFi 是一款強大的數據集成工具,專注于數據的采集、處理和分發,具有可視化流程設計、強大的容錯能力等特點。通過 Docker 部署可以快速搭建環境,省去復雜的配置步驟。本文介紹如何使用官方鏡像部署單節點 NiFi 1.27。

環境準備

  • 已安裝 Docker 環境(Docker 安裝指南)
  • 確保 Docker 服務正常運行
    • Linux/Mac:systemctl start dockerservice docker start
    • Windows:在服務中啟動 Docker 服務

部署步驟

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 /本地路徑/
  • 修改后再通過上述命令掛載生效

常見問題

  1. 容器啟動失敗
    檢查端口是否被占用(Linux:netstat -tulpn | grep 8080;Windows:netstat -ano | findstr "8080"),或通過日志定位錯誤。

  2. 權限問題
    掛載本地目錄時,若出現權限錯誤,可臨時調整目錄權限:chmod 777 /本地路徑(生產環境需謹慎設置)。

  3. 數據丟失風險
    未配置數據卷掛載時,刪除容器會導致所有配置和流程丟失,務必做好持久化配置。

總結

通過 Docker 部署 NiFi 1.27 無需復雜的環境配置,幾步即可完成搭建。根據實際需求調整端口、數據掛載方式和配置文件,可快速適配開發測試或生產環境,適合新手快速上手 NiFi。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96058.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96058.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96058.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php redis 中文API文檔手冊

php redis 中文API文檔手冊 Redis::__construct構造函數 $redis new Redis();connect, open 鏈接redis服務 參數 host: string,服務地址 port: int,端口號 timeout: float,鏈接時長 (可選, 默認為 0 ,不限鏈接時間) 注: 在redis.conf中也有時間&#xf…

Windows環境下實現GitLab與Gitee倉庫代碼提交隔離

1. 背景 在開發工作中,我需要同時使用2個代碼托管平臺:公司統一使用的GitLab和個人學習用的 Gitee。我希望能夠在同一臺電腦上方便地管理和提交兩個平臺的代碼,實現賬號和提交內容的有效隔離。 前提條件: 已安裝Git Bash、Tort…

深度解析:抗輻射電源芯片 ASP4644S2B 在空間環境中的單粒子效應表現

摘要:隨著航天技術的飛速發展,空間電子設備面臨著日益復雜和嚴苛的輻射環境挑戰。單粒子效應(SEE)作為輻射環境對半導體器件影響的主要形式之一,極大地影響著航天電子系統的可靠性和穩定性。本文通過系統梳理國科安芯推…

【RabbitMQ】如何在 Ubuntu 安裝 RabbitMQ

1. 安裝部署 Erlang 環境 RabbitMQ 是一套開源的消息隊列服務軟件,基于 Erlang 語言編寫的,因此,在安裝 RabbitMQ 之前,我們需要先部署 Erlang 環境,再安裝 RabbitMQ 環境(就像運行 Java 程序,…

vue集成高德地圖API工具類封裝

import axios, { AxiosInstance, AxiosResponse } from axios;// 高德地圖 API 響應基礎結構 interface AMapResponse {status: string;info: string;infocode: string; }// 逆地理編碼響應結構 interface RegeoResponse extends AMapResponse {regeocode: {formatted_address:…

手寫 Tomcat

文章目錄02 初出茅廬:構造一個極簡的 HttpServerRequestResponseHttpServer03 動態 Response : 按照規范構造返回流04 各司其職的 Server : 拆分響應模塊與處理模塊HttpConnectorHttpProcessor05 Server 性能提升: 設計多個 ProcessorHttpConnectorHttpProcessor06 規范化: 引入…

嵌入式ARM架構學習3——啟動代碼

一 匯編補充&#xff1a;area reset, code, readonlycode32entry;mov r0, #4 ; r0 4;mov r1, r0 ; r1 r0;mov r2, r1, lsl #1 ;r2 r1 << 1 乘2;mov r3, r1, lsr #1 ;r3 r1 >> 1 除2;mov r4, r1, ror #2;mov r0, #100 ;100是十進制 轉為16進制賦值給十進制;mov …

PNPM庫離線安裝方案

以下是幾種可行的方案&#xff0c;推薦優先使用方案一。 方案一&#xff1a;使用離線鏡像&#xff08;Offline Mirror&#xff09; - 最優雅、最PNPM的方式 這是 PNPM 官方推薦的處理離線環境的方式。它會在內網電腦上創建一個所有依賴包的壓縮文件&#xff08;tarball&#x…

[Wit]CnOCR模型訓練全流程簡化記錄(包括排除BUG)

stepfile:step 00 創建數據集 目錄結構 yourproject -data --myset ---images #存放訓練圖片 ---dev.tsv #測試標簽 tsv格式 圖片文件名\t內容 ---train.tsv #訓練標簽 tsv格式 圖片文件名\t內容 -train_config.json -train_config_gpu.json -fix_cnocr_encoding.py step 01 創…

Sklearn(機器學習)實戰:鳶尾花數據集處理技巧

1.數據集的使用&#xff1a;先使用load導入鳶尾花數據&#xff1a;from sklearn.datasets import load_iris然后定義一個函數來查看鳶尾花數據集&#xff1a;數據集的獲取&#xff1a;iris load_iris()print(鳶尾花的數據集&#xff1a;\n,iris)使用iris[DESCR]來查看數據及里…

【企業微信】接口報錯:javax.net.ssl.SSLHandshakeException

詳細報錯信息 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target原因 關于qyapi…

光子芯片驅動的胰腺癌早期檢測:基于光學子空間神經網絡的高效分割方法

光子芯片驅動的胰腺癌早期檢測:基于光學子空間神經網絡的高效分割方法 1 論文核心概念 本文提出了一種基于集成光子芯片的光學子空間神經網絡(Optical Subspace Neural Network, OSNN),用于胰腺癌的早期檢測與圖像分割。其核心思想是利用光子芯片的高并行性、低延遲和低能…

Scikit-learn Python機器學習 - 特征降維 壓縮數據 - 特征提取 - 主成分分析 (PCA)

鋒哥原創的Scikit-learn Python機器學習視頻教程&#xff1a; 2026版 Scikit-learn Python機器學習 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili 課程介紹 本課程主要講解基于Scikit-learn的Python機器學習知識&#xff0c;包括機器學習概述&#xff0c;特征工程(數據…

【Python】pytorch安裝(使用conda)

# 創建 PyTorch 虛擬環境 conda create -n pytorch_env python3.10# 激活環境 conda activate pytorch_env# 安裝 PyTorch&#xff08;CPU版本&#xff09; conda install pytorch torchvision torchaudio cpuonly -c pytorch# 或者安裝 GPU 版本&#xff08;如果有NVIDIA顯卡&…

ThreeJS骨骼示例

<html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>骨骼動畫混合演示</title><style>body {margin: 0;padding: …

python + Flask模塊學習 1 基礎用法

目錄 Flask 的主要作用 常用擴展 Flask 基本用法 1. 安裝 Flask&#xff08;再安裝個postman用來調試測試API哈 2. 最小化應用示例 3. 運行應用 Flask 是一個輕量級的 Python Web 框架&#xff0c;它簡潔靈活&#xff0c;適合快速開發 Web 應用和 API。它被稱為 "微…

python數據可視化之Matplotlib(8)-Matplotlib樣式系統深度解析:從入門到企業級應用

作者&#xff1a;浪浪山齊天大圣 描述&#xff1a;深入探索Matplotlib樣式系統的核心機制&#xff0c;掌握從基礎樣式到企業級樣式管理的完整解決方案引言 在數據可視化的世界里&#xff0c;一個優秀的圖表不僅要準確傳達數據信息&#xff0c;更要具備專業的視覺效果。Matplotl…

3.HTTP/HTTPS:報文格式、方法、狀態碼、緩存、SSLTLS握手

HTTP/HTTPS&#xff1a;報文格式、方法、狀態碼、緩存、SSL/TLS握手 1. HTTP報文格式 1.1 HTTP請求報文(Request) GET /api/v1/users HTTP/1.1 // 請求行&#xff1a;方法、URI、協議版本 Host: api.example.com // 請求頭 (Headers) User-Agent: Mozil…

【慢教程】Ollama4:ollama命令匯總

??教程說明 Ollama 是一款輕量級本地大模型部署工具&#xff0c;使用廣泛&#xff0c;且容易上手&#xff0c;適合作為AI技術的入門。 &#x1f9e9;教程各部分鏈接&#xff1a; 第一課&#xff1a;ollama運行原理介紹及同類工具對比 ollama運行原理介紹及同類工具對比&am…

JAVA Predicate

簡單來說&#xff0c;當我明確知道此次判斷的邏輯時就可以直接使用if&#xff0c;但是我這次的判斷邏輯可能會隨著某個參數變化的時候使用Predicate比如當我想要判斷某長段文字中是否包含list<String> 中的元素&#xff0c;并且包含的元素個數大于 list<String>最后…