nifi ListSFTP等代理设置
前言
使用nifi进行大量采集的时候,处于对集群的保护一般都会只有接口机能与对方提供的数据源进行互通。
这个时候使用nifi集群进行采集很可能nifi无法直接进行网络互通,需要使用到代理 来连接对方服务器采集数据。
对于ListSFTP的精讲,可以参看:ListSFTP精讲
查看nifi采集配置
如下图所示,nifi采集一共有三个代理设置,我推荐使用 Proxy Configuration Service进行配置(原因为可以设置校验的账号密码,其余不行。)
nifi代理可选HTTP HTTPS 和socks5进行代理。
socks5和https/http有什么区别呢,其实很简单,我们进行代理如网页代理https/http不同就是采用的协议不同,类似的协议还有如ftp/sftp等等。
所以简单来说socks就是socks的协议,https就是https的协议。要啥代理你就用啥协议
我们这里使用socks5来代理SFTP协议(了解协议可以看看大佬讲解socks)
环境准备
nifi 集群
代理节点AAA
数据节点BBB
在代理节点搭建socks5 服务
由于大多数公司服务器不通外网,所以这里准备了离线的安装包以供大家使用。
资源地址,如404请评论
ss5官方地址
上传 rpm.tar.gz ss5-3.8.9-8.tar.gz 到代理节点AAA的/data1/app/目录下
rpm.tar.gz为ss5的相关依赖,包含
automake-1.13.4-3.el7.noarch.rpm
gcc-c+±4.8.5-44.el7.x86_64.rpm
openssl-devel-1.0.2k-21.el7_9.x86_64.rpm
cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
make-3.82-24.el7.x86_64.rpm
pam-devel-1.1.8-23.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
openldap-devel-2.4.44-22.el7.x86_64.rpmss5-3.8.9-8.tar.gz为ss5最新安装包
安装依赖
解压两个tar.gz
cd /data1/app/
tar -zxcf rpm.tar.gz
tar -zxcf ss5-3.8.9-8.tar.gz
安装ss5依赖
cd rpm; rpm -Uvh --force --nodeps *.rpm;
安装ss5
进入目录,使用ss5自带的检查命令来生成make所需的文件。
cd ss5-3.8.9;
./configure
如果执行成功会显示
失败显示
如果失败的话为依赖未安装,或安装版本不对。
回到ss5-3.8.9目录进行make操作
cd /data1/app/ss5-3.8.9
make
make install # 无输出
完成后截图
ss5配置
跟随启动(系统启动时就启动ss5)
chmod +x /etc/init.d/ss5
chkconfig --add ss5
chkconfig --level 345 ss5 on
配置可连接ip及端口
vim /etc/opt/ss5/ss5.conf
# find the line, and change it
auth 0.0.0.0/0 - u
permit u 0.0.0.0/0 - 0.0.0.0/0 - - - - -
然后创建ss5的用户
vim /etc/opt/ss5/ss5.passwd
#添加 空格隔开的键值对
用户名 密码
userName password
重启服务器
service ss5 restart
如果出现错误 Permission denied
那就是忽视了上面忘记加权限的步骤。
SS5验证
如果有QQ或者TIM,那就很简单 使用QQ登录界面的SS5代理就能进行验证,如
点击测试就能查看SS5是否成功。
nifi代理配置
创建一个nifi ListFtp
点击“→”进行Proxy Configuration Service的配置
然后点击确认,点击“able”按钮启动。然后启动listSFTP,注意当使用listSFTP和FetchSFTP时,两个都要进行配置Proxy Configuration Service的操作。
后续
如有问题,请评论区提问。