前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NIFI启动源码解读

NIFI启动源码解读

作者头像
@阿诚
发布2020-09-01 15:19:40
7540
发布2020-09-01 15:19:40
举报
文章被收录于专栏:Panda诚Panda诚

本文仅限于针对NIFI最常见的启动方式的分析,即使用以下命令启动。

代码语言:javascript
复制
nifi.sh start

本文是若干脚本解读和源码学习分析的导读和概括,每一步骤的详细研究需要到各个章节仔细研究。

nifi.sh脚本

我们启动NIFI是使用的nifi.sh脚本,那么一切自然就是从这里开始的。整个脚本分为三部分,第一部分是确定NIFI各个路径 目录的确定,设置环境变量,第二部分是方法区。第三部分是脚本逻辑代码的入口,粗略的根据不同的参数去执行不同的方法。关于脚本的详细学习研究请看:nifi.sh 脚本解读

RunNiFi.java

nifi.sh脚本start其实最后生成的命令就是执行RunNiFi.java的main方法,RunNiFi类主要是干一些查找文件,接受脚本指令,启动停止NIFI进程(主类 org.apache.nifi.NiFi),自动重启NIFI,发送NIFI通知等等操作;关于RunNifi.java的详细研究请看:RunNiFi.java

NiFi.java

在RunNiFi.java源码解读中有提到,最终RunNiFi进程在主程序中启动了新的进程NiFi,并循环监听NIFI进程的状态,直到NIFI进程不在运行,RunNiFi主程序才结束。关于Nifi.java的详细研究请看:NiFi.java

#JettyServer.java

在NiFi.java的构造方法里,使用反射构造了JettyServer,并调用了JettyServer的start方法。在JettyServer中发布了war包,启动了我们所看到的NIFI(画布、拖拽。。。)关于Nifi.java的详细研究请看:JettyServer.java

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Panda诚 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • nifi.sh脚本
  • RunNiFi.java
  • NiFi.java
  • #JettyServer.java
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档