Docker環(huán)境下的Apache NiFi安裝實(shí)踐及遇到問題解決方案
引言:由于最近用到數(shù)據(jù)同步,故打算采用中間件工具來(lái)做數(shù)據(jù)同步,誰(shuí)知第一步部署Apache NiFi環(huán)境就耽擱了好久,其中遇到一些問題,故記錄下來(lái)部署成功記錄
- 問題1:HTTPS訪問 HTTP ERROR 400 Invalid SNI
- 問題2:openssl創(chuàng)建的證書需要導(dǎo)入到瀏覽器中
- 問題2:HTTPS 和雙向 TLS 身份驗(yàn)證保護(hù)的獨(dú)立實(shí)例時(shí),證書正常了,訪問后提示Insufficient Permissions,這個(gè)問題目前還沒解決,如果哪位朋友知道怎么處理,麻煩告知一下,感謝?。?!
開始走入正題
1.拉取鏡像
sudo docker pull apache/nifi
2.運(yùn)行容器
# 運(yùn)行 sudo docker run --restart=always --name nifi -p 8443:8443 -itd apache/nifi # 進(jìn)入容器,復(fù)制配置到目錄,做持久化 # 注意復(fù)制配置文件的時(shí)候記得查看日志是否啟動(dòng)成功,要啟動(dòng)成功后進(jìn)行復(fù)制 sudo docker cp nifi:/opt/nifi/nifi-current/conf /opt/nifi # 移除nifi 容器 sudo docker rm -f nifi
3.創(chuàng)建PKCS12證書
# 進(jìn)入文件目錄 cd /opt/nifi # 刪除舊證書 rm -rf *.p12 #生成RSA私鑰 openssl genpkey -algorithm RSA -out nifi.key # 創(chuàng)建證書簽名請(qǐng)求CSR openssl req -new -key nifi.key -out nifi.csr # 填寫信息 Country Name (2 letter code) [AU]: CN # 國(guó)家/地區(qū)名稱(必須填寫,使用兩位字母代碼,如CN代表中國(guó)) State or Province Name (full name) [Some-State]: Hunan # 省份或州名稱(必須填寫,填寫完整名稱) Locality Name (eg, city) []: Changsha # 城市名稱(可選,如果不填,字段為空) Organization Name (eg, company) [Internet Widgits Pty Ltd]: Jisheyun # 組織名稱(必須填寫,通常為公司名稱) Organizational Unit Name (eg, section) []: IT Department # 組織部門名稱(可選) Common Name (e.g. server FQDN or YOUR name) []:192.168.1.9 # 服務(wù)器主機(jī)名或IP地址(必須填寫) Email Address []: admin@jishe.com # 電子郵件地址(可選) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: <留空> # 挑戰(zhàn)密碼(可選,可以留空) An optional company name []: <留空> # 可選的公司名稱(可選,可以留空) # 使用私鑰和CSR創(chuàng)建自簽名證書,有效期為3650天 openssl x509 -req -days 3650 -in nifi.csr -signkey nifi.key -out nifi.crt # 將私鑰和證書合并為 PKCS12 格式文件 openssl pkcs12 -export -in nifi.crt -inkey nifi.key -out nifi.p12 -name nifi -password pass:jisheyun123456 # 修改目錄文件權(quán)限(注意需要設(shè)置權(quán)限否則會(huì)導(dǎo)致讀取不到配置文件信息) # 文件權(quán)限也可以修改為755,但是運(yùn)行容器需要加-u 0 chmod -R 777 /opt/nifi/
4.修改配置文件信息
# 編輯文件 sudo vim nifi.properties # 修改服務(wù)器地址和端口 nifi.web.https.host=192.168.1.9 nifi.web.https.port=8443 # 配置加密參數(shù) nifi.sensitive.props.key=jisheyun123456 nifi.sensitive.props.algorithm=NIFI_PBKDF2_AES_GCM_256 nifi.security.autoreload.enabled=false nifi.security.autoreload.interval=10 secs # 配置證書路徑和密碼 nifi.security.keystore=./conf/nifi.p12 nifi.security.keystoreType=PKCS12 nifi.security.keystorePasswd=jisheyun123456 nifi.security.keyPasswd=jisheyun123456 nifi.security.truststore=./conf/nifi.p12 nifi.security.truststoreType=PKCS12 nifi.security.truststorePasswd=jisheyun123456
5.重新新運(yùn)行容器
# 運(yùn)行新容器 sudo docker run --name nifi --restart=always \ -p 8443:8443 \ -itd \ -v /opt/nifi:/opt/nifi/nifi-current/conf \ -e SINGLE_USER_CREDENTIALS_USERNAME=admin \ -e SINGLE_USER_CREDENTIALS_PASSWORD=jisheyun123456 \ registry.cn-qingdao.aliyuncs.com/jisheyun/apache_nifi:2.3.0
6.另外一種方式使用容器化參數(shù)運(yùn)行(這種方式只映射證書不映射其他配置信息)
# 運(yùn)行容器 docker run --name nifi --restart=always \ -v /opt/nifi:/opt/certs \ -p 8443:8443 \ -e SINGLE_USER_CREDENTIALS_USERNAME=admin \ -e SINGLE_USER_CREDENTIALS_PASSWORD=jisheyun123456 \ -e KEYSTORE_PATH=/opt/certs/nifi.p12 \ -e KEYSTORE_TYPE=PKCS12\ -e KEYSTORE_PASSWORD=jisheyun123456 \ -e TRUSTSTORE_PATH=/opt/certs/nifi.p12 \ -e TRUSTSTORE_PASSWORD=jisheyun123456 \ -e TRUSTSTORE_TYPE=PKCS12\ -e INITIAL_ADMIN_IDENTITY='subject=C = CN, ST = Hunan, L = Changsha, O = Jisheyun, OU = IT Department, CN = 192.168.1.9' \ -e NIFI_WEB_PROXY_HOST='192.168.1.9' \ -itd \ registry.cn-qingdao.aliyuncs.com/jisheyun/apache_nifi:2.3.0
7.瀏覽器訪問
# 先把證書導(dǎo)出然后再導(dǎo)入到瀏覽器中 切記!切記!切記!需要導(dǎo)入證書,否則訪問正常訪問 # 刷新訪問 https://192.168.1.9:8443/nifi
【參考】https://hub.docker.com/r/apache/nifi/
【參考】https://nifi.apache.org/docs/nifi-docs/html/user-guide.html
【參考】https://repo1.maven.org/maven2/org/apache/nifi/
到此這篇關(guān)于Docker環(huán)境下的Apache NiFi安裝實(shí)踐及遇到問題解決方案的文章就介紹到這了,更多相關(guān)Docker Apache NiFi安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Win10環(huán)境借助DockerDesktop部署大數(shù)據(jù)時(shí)序數(shù)據(jù)庫(kù)Apache Druid的操作方法
- Docker中安裝和配置Apache Pulsar實(shí)現(xiàn)
- 使用Docker搭建Apache Kafka環(huán)境的詳細(xì)過程
- 教你在docker?中搭建?PHP8?+?Apache?環(huán)境的過程
- Docker自動(dòng)部署Apache Tomcat的方法
- Docker安裝運(yùn)行apache2服務(wù)器做圖片服務(wù)器的方法
- 詳解使用Dockerfile創(chuàng)建帶Apache服務(wù)的CentOS Docker鏡像
相關(guān)文章
Linux環(huán)境下使用Docker搭建Jenkins容器的方法步驟
本文主要介紹了Linux環(huán)境下使用Docker搭建Jenkins容器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Docker部署Vue項(xiàng)目的項(xiàng)目實(shí)踐
本文主要介紹了Docker部署Vue項(xiàng)目的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07docker /var/lib/docker/aufs/mnt 目錄清理方法
在本篇文章里小編給各位整理的是關(guān)于docker /var/lib/docker/aufs/mnt 目錄清理方法,有需要的朋友們可以參考下。2020-03-03如何使用docker compose 部署ELK 8.X及監(jiān)控
這篇文章主要介紹了如何使用docker compose 部署ELK 8.X及監(jiān)控,包括前置環(huán)境配置及docker compose啟動(dòng)/停止的命令,感興趣的朋友跟隨小編一起看看吧2023-10-10windows壞境下docker使用phpmyamin的權(quán)限問題解決
這篇文章主要為大家介紹了windows壞境下docker使用phpmyamin發(fā)生的權(quán)限問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Mac為docker和kubectl添加自動(dòng)補(bǔ)全命令的方法
很多朋友不太明白如何為docker和kubectl添加自動(dòng)補(bǔ)全命令,本文通過一些示例給大家介紹kubectl基礎(chǔ)概念及語(yǔ)法知識(shí),需要的朋友參考下吧2021-06-06