admin管理员组

文章数量:1794759

nifi从入门到实战(保姆级教程)——环境篇

nifi从入门到实战(保姆级教程)——环境篇

背景:

公司领导决定将各种基础数据的导入从代码中分离出来,用Apache Nifi替换。使开发者们更关注在业务上,而不用关心基础的由来。 Apache Nifi对于整个团队都是一个全新的工具,之前大家都没有接触过,甚至是第一次听说,我就是其中之一。但是很幸运的是,领导指派我去熟悉这个工具,按实际应用场制作DEMO,并分享给团队。

环境准备
  • windows: 1、下载nifi zip包:nifi.apache/download.html ,选择自己想要的版本。 注意:1.14版本开始,默认为有身份认证,不允许匿名登陆。 2、将zip包解压到本地的任意目录。解压后如下图 注意:路径最好是全英文,否则会出现一些启动不了的异常

3、修改conf(可选)。为了避免端口冲突,可以将/conf/nifi.properties中https.port修改为你指定的其他端口。默认是8443。 另一个是/conf/bootstrap.conf,这里主要修改JVM memory settings, 默认是512M。 4、启动nifi.双击/bin/run-nifi.bat文件

出现以下画面即为成功 注意:如果要退出nifi,千万不要直接点上图右上角的“关闭”按钮。因为这样并不会完全退出nifi,它的进程还在运行,端口还是占用着的,所以下次再次运行时就会出错。只能杀进程,或是重启电脑了。正确的操作是ctrl+c停止它

5、打开nifi UI.(距离启动nifi大概30秒后) 打开/logs/nifi-app.log,搜索username,如下图 输入相应的user和password后就可以登陆成功了

  • Linux linux下就用docker compose演示吧 1、准备好linux和docker环境。这一步大家可以自行搜索 2、定义docker-compose.yml文件,输入以下内容

    点击查看代码 version: '3' services: nifi: cap_add: - NET_ADMIN # low port bindings image: apache/nifi:1.16.1 container_name: nifi-dev ports: - 18443:18443 # HTTPS interface environment: NIFI_WEB_HTTPS_PORT: "18443" volumes: - ./drivers:/opt/nifi/nifi-current/drivers - ./database_repository:/opt/nifi/nifi-current/database_repository - ./flowfile_repository:/opt/nifi/nifi-current/flowfile_repository - ./content_repository:/opt/nifi/nifi-current/content_repository - ./provenance_repository:/opt/nifi/nifi-current/provenance_repository - ./state:/opt/nifi/nifi-current/state - ./logs:/opt/nifi/nifi-current/logs - ./nifi-conf:/opt/nifi/nifi-current/conf

    这里指定nifi 镜像为官方docker image 1.16.1版本,端口为18443。注意:ports和enviroment两个设置都不能少。然后把容器里的相应目录挂载到了宿主机上docker-compose.yml文件所在目录。这样做的好处就是即使是启动新的镜像实例,原来的数据还是在的,这样也就实现了数据持久化。 因为nifi启动需要读取conf目录下的各种配置,现在这样conf目录下是空的。所以启动时会报nifi.propeties等文件不存在。 有两种解决方案:一是把conf目录下的所有文件复制到nifi-conf目录下。二是conf目录挂载方式变下,如下:

    点击查看代码 version: '3' services: nifi: cap_add: - NET_ADMIN # low port bindings image: apache/nifi:1.16.1 container_name: nifi-dev ports: - 18443:18443 # HTTPS interface environment: NIFI_WEB_HTTPS_PORT: "18443" volumes: - ./drivers:/opt/nifi/nifi-current/drivers - ./database_repository:/opt/nifi/nifi-current/database_repository - ./flowfile_repository:/opt/nifi/nifi-current/flowfile_repository - ./content_repository:/opt/nifi/nifi-current/content_repository - ./provenance_repository:/opt/nifi/nifi-current/provenance_repository - ./state:/opt/nifi/nifi-current/state - ./logs:/opt/nifi/nifi-current/logs - nifi-conf:/opt/nifi/nifi-current/conf volumes: nifi-conf:

    这样是把conf目录挂载在/var/lib/docker/volumes目录下,这样可以自动生成相应的文件。 3、启动nifi.docker-compose up (加上-d 就是后台运行,在终端不会输出日志) 在日志中nifi-app.log中查找 username,获取相应的user 和password,然后登陆nifi。此步骤与windows相同

至此,nifi的环境已经准备好了。下一篇来讲讲nifi的身份验证。

本文标签: 保姆实战入门环境教程