NIFI大数据进阶_内嵌ZK模式集群2_实际操作搭建NIFI内嵌模式集群---大数据之Nifi工作笔记0016
然后我们开始来搭建nifi集群,可以看到之前我们上传上来的安装包然后我们因为当前目录有了,我先去解压到其他目录这里解压到/export/soft下面去然后进去soft去看看,可以看到已经有了然后我们说我们要搭建3个nifi的集群,那么这个时候,需要复制3份,但是我们为了方便这里先不cp -r nifi-1.9.2-18001了 先不复制了,可以看到我们先重命名,然后又复制了,注意这里的复制先不要执

然后我们开始来搭建nifi集群,可以看到之前我们上传上来的安装包

然后我们因为当前目录有了,我先去解压到其他目录
这里解压到/export/soft下面去

然后进去soft去看看,可以看到已经有了
然后我们说我们要搭建3个nifi的集群,那么这个时候,需要复制3份,但是
我们为了方便这里先不cp -r nifi-1.9.2-18001了 先不复制了,可以看到我们先重命名,然后又
复制了,注意这里的复制先不要执行,我们可以配置完了以后再复制,这样方便一点

首先我们去看看,进入cd nifi-1.9.2-18001/conf下面,然后ls一下,看看里面有个zookeeper.properties
需要配置这个zookeeper,内嵌的zookeeper信息

打开以后,然后首先配置这个clientPort
clientPort是zookeeper的端口号,然后
这里要注意,我不是用了3台服务器,而是用了3个服务,相当于开启了3个进程来进行的nifi集群的搭建,当然你可以
搭建3台服务器,这样更好.

这里在这个目录下有配置好的配置文件可以拿过去用

配置了clientPort以后,然后再来配置 server.1= ...这里,这里添加集群的信息,这里添加3台
这里的12888是用来集群内机器通信的,然后13888是用来进行选举的.
一、zookeeper有三个端口(可以修改)
1、2181
2、3888
3、2888
二、3个端口的作用
1、2181:对cline端提供服务
2、3888:选举leader使用
3、2888:集群内机器通讯使用(Leader监听此端口)
注意这里我们用的nifi1.9版本的所以这里,配置这个地方,后面只有2个端口号,如果用的1.9.2的版本,这个地方就配置3个端口号了

这个保存退出zookeeper的配置就完了.

然后我们再去创建一个根目录下有个state目录,然后下面有个zookeeper目录

然后创建以后,然后我们进入这个目录,然后我们在这个目录下创建一个myid文件,然后输入内容1
做为这个服务器的一个唯一的标识

然后我们再来进入conf,这个配置目录

然后去修改一下nifi.properties文件

然后找到这个nifi.state.management.embedded.zookeeper.start =true 默认是false
指的是要不要nifi开启内嵌集群模式,这个默认是fasle没打开的

这里改成true就可以了

然后在修改几个端口,主机地址

可以看到这里的nifi.web.http.host=192.168.52.150
这里的端口也需要改一下,这里默认的8080,改成18001

然后在修改nifi.cluster.is.node=true,把集群修改一下节点为true
然后对应的端口也修改一下为28001

可以看到节点协议端口,这里改成28001...这里

然后再修改一下nifi.cluster.flow.election.max.wait.time=1 mins
表示flow在做为正确的flow流之前的等待时间.

我们这里设置至少1个节点就可以运行

可以看到这里nifi.cluster.flow.election.max.candidates=1 设置为1,至少一台机器可用,集群就可以运行

然后再看这里的nifi.cluster.load.balance.port=16342 这里的端口号也需要改

然后指定nifi.zookeeper.connect.string=192.168.52.150:12181,192.168.52.150:12182,192.168.52.150:12183
指定zookeeper的3台机器

然后保存退出就可以了按下esc然后 :wq

然后再来修改conf/state-management.xml文件

然后打开这个文件,看看内容,这里主要配置
可以看到有个本地local的配置,有个

cluster-provider集群的配置

然后这里我们主要用这个cluster集群配置
这里我们主要配置ConnectString这个属性,可以看到其实就是加入了
zookeeper的配置内容对吧.

然后保存退出就可以了

然后我们再看看,去配置一下18002这个nifi节点

一样进入以后,先配置zookeeper.properties

这里修改clientPort=12182端口

然后再去编辑18003的配置

修改对应的端口号

然后再去同样编辑18002的myid文件,写入2

然后保存退出就可以了

然后再编辑vim 18003的文件myid

写入3然后保存退出

然后再编辑对应的nifi.properties文件


同样编辑http.port为18002,第二个nifi

然后同样再配置下面的内容

协议端口

然后这里再配置负载均衡的端口

配置balance.port

然后再配置nifi 18003这个nifi的配置

修改web.http.port端口

修改协议端口

然后修改负载均衡端口

然后再去配置18003,第三份的nifi的state-management.xml文件

打开看一下,然后一样配置这里,ConnectString

配置以后就可以去启动了
先来启动18001这个nifi

然后再来启动18002,这个nifi

然后再来启动18003这个nifi

这个时候可以看到cpu是100%了,然后

然后我们可以来查一下日志
tail -f ./nifi-1.9.2-18001/logs/nifi-app.log

可以看到日志里面显示stopped,报错了

然后我们看看报错原因,可以看到说state provider is not validated,说 ConnectString 是invalid

我们看看是怎么回事

让我们检测./conf/state-management.xml对吧

然后我们去看看这个配置文件

可以看到,有问题对吧,因为这里,前面有空格对吧.

我们把前面的空格都删除掉

然后我们再保存,并且我们把这两个文件都复制到,18002,18003这两个nifi上去

然后我们再看,再去启动一下看看18001,18002,18003

启动的时候我们再去看看日志
tail -f ....

可以看到日志显示已经看到端口号,ip地址了,显示finished processing ...

启动好了以后,然后我们去访问一下可以看到可以了已经

然后我们从这里看看,这个配置,cluster集群

我们看一下jps,后台,已经都启动了对吧

但是集群只有一个,但是我们启动了3个对吧,怎么回事

我们来访问一下18002,18003

可以看到都可以访问的

然后我们再来看看为什么是只有一个呢,显示,集群我们配置了3个nifi对吧

我们来看看,18001的这个配置文件myid

可以看到都没有问题,分别是1,2,3

然后我们再检查zookeeper.properties

可以看到这里有问题,server.1 都用成这个了对吧,我们应该是server.1 .2 .3这样才对对吧

我们修改一下

都修改一下,然后

我们再去关闭一下nifi1,nifi2,nifi3...stop一下

然后stop了以后

我们再去写一个start.sh,来启动nifi

可以看到里面写上,具体的启动三个niif的命令

然后我们保存退出,然后这里
再修改一下这个文件的属性,权限.. chmod +wrx start.sh
然后执行就可以了 ./start.sh

执行有我们看看

等一会cpu降下来

然后我们再去访问nifi,可以看到上面显示,已经有3台机器了

然后再去看,可以看到,配置那个地方,也已经显示有3台机器了

然后状态可以看到18001,这个是主节点对吧.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)