一、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安装的更多相关文章

  1. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十一)定制一个arvo格式文件发送到kafka的topic,通过Structured Streaming读取kafka的数据

    将arvo格式数据发送到kafka的topic 第一步:定制avro schema: { "type": "record", "name": ...

  2. 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 ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。

    Centos7出现异常:Failed to start LSB: Bring up/down networking. 按照<Kafka:ZK+Kafka+Spark Streaming集群环境搭 ...

  4. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  5. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  6. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(八)安装zookeeper-3.4.12

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  7. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(三)安装spark2.2.1

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  8. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  9. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(七)针对hadoop2.9.0启动DataManager失败问题

    DataManager启动失败 启动过程中发现一个问题:slave1,slave2,slave3都是只启动了DataNode,而DataManager并没有启动: [spark@slave1 hado ...

随机推荐

  1. xcode 拷贝新的ios image 进去以后 出现 the divices is locked

    苹果公司时不时的给你更新下ios系统.对于开发者来说.更新xcode是灾难性的. 一直在用xcode7.3.1,可是最新不小心把手机升级到 ios 10.1.1,这下好了,真机调试不行了.提示没有镜像 ...

  2. RX库中的IDisposable对象

    IDisposable是.net中的主动资源释放接口,它是在编程过程中经常使用到的一个接口,本文介绍一下微软在Rx.NET中提供的一系列常用的Disposable类,通过它们可以简化我们的程序代码,提 ...

  3. PE Header and Export Table for Delphi

    Malware Analysis Tutorial 8: PE Header and Export Table 2. Background Information of PE HeaderAny bi ...

  4. iOS 项目一直在后台执行

    我后来是这么解决不知道行不行,能够长期的在后台执行 首先我在xx-info.plist 里的 "Required background modes" 里增加"App pr ...

  5. AngularJS使用angular-formly进行表单验证

    当验证表单中有很多字段时,这时候可能希望把html的生成以及验证逻辑放到controller中,在页面,也许是这样的: <some-form fiedls="vm.someFields ...

  6. Visual Studio 2012 调试程序加载缓慢,提示正在下载符号

    当在Visual Studio 2012中调试程序的时候,整个过程加载缓慢,并且有类似"正在下载符号......"的提示. 这是因为Visual Studio在调试的时候,默认从M ...

  7. IOS文件系统及其相关操作(NSFileManager,NSFileHandle)

    How do you get the paths to these special sandbox directories? NSArray *NSSearchPathForDirectoriesIn ...

  8. C#编程(十二)----------函数

    类和结构 类和结构实际上都是创建对象的模板 ,每 个对象都包含数据 ,并 提供了处理和访问数据的方法. 类定义了类的每个对象 (称 为实例 )可 以包含什么数据和功能 . 例如 ,如 果 一 个类表示 ...

  9. Netty入门实例及分析

    什么是netty?以下是官方文档的简单介绍: The Netty project  is an effort to provide an asynchronous event-driven netwo ...

  10. JAVA设计模式-设计原则

    6大原则: 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 一.单一职责原则 定义:应该有且仅有一个原因引起类的变更 带来的好处: 类的复杂性降低,实现什么职责有清晰明确 ...