Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十一)NIFI1.7.1安装
一、nifi基本配置
1. 修改各节点主机名,修改/etc/hosts文件内容。
192.168.0.120 master
192.168.0.121 slave1
192.168.0.122 slave2
具体请参考《Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。》
2. 安装zookeeper分布式集群
具体请参考《Kafka:ZK+Kafka+Spark Streaming集群环境搭建(八)安装zookeeper-3.4.12》
3. 下载 wget http://mirrors.tuna.tsinghua.edu.cn/apache/nifi/1.7.1/nifi-1.7.1-bin.tar.gz
到/opt下
tar -zvxf nifi-1.7.-bin.tar.gz
cd nifi-1.7.
chown -R spark:spark /opt/nifi-1.7.1
4. jdk配置:nifi新版本要求jdk版本必须1.8以上
目录:bin/nifi.env.sh
export JAVA_HOME=/home/user/opt/jdk1.8.0_144
注意:忽略此项配置,nifi将使用系统默认Java环境启动。
5. nifi运行内存配置
目录:conf/bootstarp.conf
java.arg.2=-Xms512m
java.arg.3=-Xmx20480m
备注:
1)根据服务器性能合理设置nifi内存2)这里是虚拟机内存较小,就没有设置
6. nifi日志配置
目录:conf/logback.xml
7. nifi端口配置
目录:conf/nifi.properties
nifi.web.http.port=18083
默认为8080端口。
8. nifi基本命令
nifi.sh start 启动
nifi.sh stop 关闭
nifi.sh restart 重启
nifi.sh status 状态
以上基本配置完成,可单节点模式启动nifi。
二、nifi集群配置
基于上边的配置基础之上,修改nifi配置:./conf/nifi.properties
1. 首先在master节点上配置./conf/nifi.properties
》》》》》》》》》》》》》Master配置》》》》》》》》》》》》》》
#设置WEB UI横幅文字
nifi.ui.banner.text=Nifi-1.7.-Cluster
#是否启动内置的zk
nifi.state.management.embedded.zookeeper.start=false
#配置zk节点
nifi.zookeeper.connect.string=master:,slave1:,slave2:
#这里配置为非安全性的nifi
nifi.cluster.protocol.is.secure=false
nifi.cluster.is.node=true
nifi.cluster.node.address=master
nifi.cluster.node.protocol.port=
nifi.cluster.node.protocol.threads=
nifi.cluster.node.event.history.size=
nifi.cluster.node.connection.timeout= sec
nifi.cluster.node.read.timeout= sec
nifi.cluster.firewall.file= #各节点Site2Site协议接口配置
nifi.remote.input.host=master
nifi.remote.input.secure=false
nifi.remote.input.socket.port=
nifi.remote.input.http.enabled=true
nifi.remote.input.http.transaction.ttl= sec #web ui
nifi.web.http.host=master
nifi.web.http.port=
》》》》》》》》》》》》》Master配置》》》》》》》》》》》》》》
2. 然后在slave1,slave2节点上配置./conf/nifi.properties
scp -r /opt/nifi-1.7./* root@slave1:/opt/nifi-1.7.1/
scp -r /opt/nifi-1.7.1/* root@slave2:/opt/nifi-1.7.1/
Slave1:
nifi.remote.input.host=slave1
nifi.web.http.host=slave1
nifi.cluster.node.address=slave1
Slave2:
nifi.remote.input.host=slave2
nifi.web.http.host=slave2
nifi.cluster.node.address=slave2
3.启动
./bin/nifi.sh start
三个节店(master、slave1、slave2)都要执行。
执行完后验证是否都正常启动方式:
1)JPS查看是否三台服务器都包含进程:
[spark@master bin]$ jps
RunNiFi
NiFi
QuorumPeerMain
Jps
2)同时查看三台服务器的NIFI运行状态:
master:
[spark@master bin]$ ./nifi.sh status Java home: /opt//jdk1.8.0_171
NiFi home: /opt/nifi-1.7. Bootstrap Config File: /opt/nifi-1.7./conf/bootstrap.conf -- ::, INFO [main] org.apache.nifi.bootstrap.Command Apache NiFi is currently running, listening to Bootstrap on port , PID=
slave1:
[spark@slave1 bin]$ ./nifi.sh status Java home: /opt//jdk1.8.0_171
NiFi home: /opt/nifi-1.7. Bootstrap Config File: /opt/nifi-1.7./conf/bootstrap.conf -- ::, INFO [main] org.apache.nifi.bootstrap.Command Apache NiFi is currently running, listening to Bootstrap on port , PID= [spark@slave1 bin]$
slave2:
[spark@slave2 bin]$ ./nifi.sh status Java home: /opt//jdk1.8.0_171
NiFi home: /opt/nifi-1.7. Bootstrap Config File: /opt/nifi-1.7./conf/bootstrap.conf -- ::, INFO [main] org.apache.nifi.bootstrap.Command Apache NiFi is currently running, listening to Bootstrap on port , PID= [spark@slave2 bin]$
3)此时,如果正常运行集群模式,在通过UI在一个IP下创建一个Process,则在另外两个节店也可以查看到该节店创建的内容。
master

slave1

slave2

参考:《https://blog.csdn.net/qq_19397397/article/details/80007806》
三、开发资料
nifi中配置的表达式用法规则,参考官网:https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html
Nifi表达式和自定义处理器(基于HDP):https://my.oschina.net/u/2306127/blog/858960
nifi官网Blog(文章不多,但内容比较实用):https://blogs.apache.org/nifi/
nifi官网Doc(用户[user,admin,developer]向导,用法):https://nifi.apache.org/docs.html别人个人博客(介绍了个别组件用法):https://bryanbende.com/categories.html,https://www.nifi.rocks/archives/
Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十一)NIFI1.7.1安装的更多相关文章
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十一)定制一个arvo格式文件发送到kafka的topic,通过Structured Streaming读取kafka的数据
将arvo格式数据发送到kafka的topic 第一步:定制avro schema: { "type": "record", "name": ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十三)kafka+spark streaming打包好的程序提交时提示虚拟内存不足(Container is running beyond virtual memory limits. Current usage: 119.5 MB of 1 GB physical memory used; 2.2 GB of 2.1 G)
异常问题:Container is running beyond virtual memory limits. Current usage: 119.5 MB of 1 GB physical mem ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。
Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭 ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(八)安装zookeeper-3.4.12
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(三)安装spark2.2.1
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(七)针对hadoop2.9.0启动DataManager失败问题
DataManager启动失败 启动过程中发现一个问题:slave1,slave2,slave3都是只启动了DataNode,而DataManager并没有启动: [spark@slave1 hado ...
随机推荐
- Hadoop系列之(三):使用Cloudera部署,管理Hadoop集群
1. Cloudera介绍 Hadoop是一个开源项目,Cloudera对Hadoop进行了商业化,简化了安装过程,并对hadoop做了一些封装. 根据使用的需要,Hadoop集群要安装很多的组件,一 ...
- Java对象池
单例模式是限制了一个类只能有一个实例,对象池模式则是限制一个类实例的个数.对象池类就像是一个对象管理员,它以Static列表(也就是装对象的池子)的形式存存储某个实例数受限的类的实例,每一个实例还要加 ...
- dispatch_group_async 使用详解
dispatch_group_async可以实现监听一组任务是否完成,完成后得到通知执行其他的操作.这个方法很有用,比如你执行三个下载任务,当三个任务都下载完成后你才通知界面说完成的了.下面是一段例子 ...
- android4.0 中关于内外置sd卡的获取及读写权限问题
from://http://blog.chinaunix.net/uid-26727976-id-3146895.html 在2.x的版本中,在manifest中配置的权限android.permis ...
- 实用ExtJS教程100例-002:MessageBox的三种用法
在上一节中,我们用到了MessageBox,在本文中,我们将介绍一下ExtJS中常用的三种MessageBox. Ext.MessageBox.alert() 这个方法用来打开一个普通的对话框,对话框 ...
- SQL文件的BOM问题导致的invalid character错误及解决
最近在做数据的搬运工,将Oracle中的数据搬运到ES中,方案很成熟了,使用Logstash的jdbc-input执行SQL,然后将结果输出到ES中.这么简单的问题,在测试环境中测试也一帆风顺,可一上 ...
- 让Orchard支持多个Layout
默认Orchard只有一个Layout,有的时候,我们的站点往往需要多个母版页.那么,如果要让Orchard支持多个Layout,以下是一种解决方案. 一:创建LayoutFilter using S ...
- python 多线程日志切割+日志分析
python 多线程日志切割+日志分析 05/27. 2014 楼主最近刚刚接触python,还是个小菜鸟,没有学习python之前可以说楼主的shell已经算是可以了,但用shell很多东西实现起来 ...
- Asp.Net Core 文件上传处理
本文主要介绍后台接收处理 1.在使用控制器接收 : [HttpPost] : public IActionResult UploadFiles(IList<IFormFile> files ...
- spring学习之@SessionAttributes
一.@ModelAttribute 在默认情况下,ModelMap 中的属性作用域是 request 级别是,也就是说,当本次请求结束后,ModelMap 中的属性将销毁.如果希望在多个请求中共享 M ...