NIFI+外部zookeeper集群部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NIFI+外部zookeeper集群部署相关的知识,希望对你有一定的参考价值。

NIFI+外部zookeeper集群部署 

1、配置jdk环境

使用rpm -qa | grep jdk 指令查看服务器是否安装过jdk,这里一般用于卸载openjdk,

[root@hadoop1 ~]# rpm -qa|grep java

NIFI+外部zookeeper集群部署

 

1.1、openjdk卸载----卸载指令:

[root@hadoop1 ~]# rpm -e --nodeps +安装包名 卸载

使用这一行命令也可以卸载 yum -y remove copy-jdk-configs-3.3-2.el7.noarch

[root@hadoop3 java]# rpm -qa | grep jdk

查看openjdk是否卸载干净

当显示为空时则表示系统自带的openjdk卸载干净了

NIFI+外部zookeeper集群部署

 

1.2、在/usr/创建java目录

把jdk-8u181-linux-x64.tar.gz 部署包放到/usr/java/目录下

执行解压指令

tar -xvf jdk-8u181-linux-x64.tar.gz  将jdk部署包解压到该目录下

修改包名 执行

1.3、配置jdk环境  vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8

export PATH=$PATH:$JAVA_HOME/bin 

在文件的最下面添加

#jdk环境配置

export JAVA_HOME=/usr/java/jdk1.8

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

配置完成后执行source /etc/profile/使得配置生效

1.4、jdk安装校验

使用java -version 查看jdk环境是否生效,显示如下结果则jdk环境配置成功。

NIFI+外部zookeeper集群部署

2、更改主机名

2.1使用hostname查看当前主机名称

[root@hadoop2 ~]# hostname

NIFI+外部zookeeper集群部署

2.2、编辑hosts文件

[root@hadoop2 ~]# vi /etc/hosts      

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.109  hadoop1

192.168.0.111  hadoop2     //服务器IP和对应的hostname 别名  IP修改成服务器对应IP

192.168.0.112  hadoop3     //服务器IP和对应的hostname 别名

[root@hadoop1 ~]#  scp hosts root@192.168.0.111:/etc/  

[root@hadoop1 ~]#  scp hosts root@192.168.0.112:/etc/

2.3、编辑network文件

[root@hadoop1 ~]# vi /etc/sysconfig/network       hostname 要对应本机  192.168.0.109 服务器

NETWORKING=yes

HOSTNAME=hadoop1

[root@hadoop2 ~]# vim /etc/sysconfig/network       hostname 要对应本机  192.168.0.111 服务器

NETWORKING=yes

HOSTNAME=hadoop2

[root@hadoop3 ~]# vim /etc/sysconfig/network       hostname 要对应本机  192.168.0.112 服务器

NETWORKING=yes

HOSTNAME=hadoop3

3.4 编辑hostname文件

[root@hadoop1 ~]# vim /etc/hostname      hostname 要对应本机  192.168.0.109 服务器

hadoop1

[root@hadoop2 ~]# vim /etc/hostname      hostname 要对应本机  192.168.0.111 服务器

hadoop2

[root@hadoop3 ~]# vim /etc/hostname       hostname 要对应本机  192.168.0.112 服务器

hadoop3

4、配置免密登录 3台互认。需要开通ssh 22端口

4.1、创建密钥--登录Linux进入/root/.ssh/目录下

4.2、没有生成密钥的目录如下

NIFI+外部zookeeper集群部署

4.3、执行ssh-keygen -t rsa 创建密钥

[root@hadoop1

一路回车即可。

NIFI+外部zookeeper集群部署

4.4、创建信任

4.4.1、把生成的公钥文件id_rsa.pub通过命令ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop2传过去

发到每一台服务器包括本机

ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop1

ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop2

ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop3

4.4.2、同时在hadoop2、hadoop3上执行生成密钥ssh-keygen -t rsa ,发送密钥到指定服务器

ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop1

ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop2

ssh-copy-id -i /root/.ssh/id_rsa.pub root@hadoop3

4.5、验证免密登录是否生效

NIFI+外部zookeeper集群部署

5、zookeeper集群部署

5.1、解压zookeeper部署包

由于测试服务器home目录容量最大,所以我这边的集群部署都在/home/下

[root@hadoop1 home]# tar -zxvf zookeeper-3.4.8.tar.gz

NIFI+外部zookeeper集群部署

解压完成后[root@hadoop1 home]# ll

NIFI+外部zookeeper集群部署

将zookeeper压缩文件解压后,我们进入到 conf 目录:

[root@hadoop1 opt]# cd zookeeper-3.4.8/conf/

NIFI+外部zookeeper集群部署

5.2、将 zoo_sample.cfg 文件复制并重命名为 zoo.cfg 文件。

[root@hadoop1 conf]# cp zoo_sample.cfg zoo.cfg

NIFI+外部zookeeper集群部署

5.3、修改配置文件 zoo.cfg

然后通过 vim zoo.cfg 命令对该文件进行修改:

5.3.1、修改

dataDir=/home/zookeeper-3.4.8/data

dataLogDir=/home/zookeeper-3.4.8/log

5.3.2、由于我们配置日志和数据存储的路径将zookeeper集群存储数据路径为/home/zookeeper-3.4.8/data、/home/zookeeper-3.4.8/log

所以我们需要在/home/zookeeper-3.4.8/创建data、log文件夹

[root@hadoop1 zookeeper-3.4.8]# mkdir data

[root@hadoop1 zookeeper-3.4.8]# mkdir log

[root@hadoop1 zookeeper-3.4.8]# ll

NIFI+外部zookeeper集群部署

在/home/zookeeper-3.4.8/data目录下编辑myid

[root@hadoop1 data]# vi myid

hadoop1服务器对应的myid为1

hadoop2服务器对应的myid为2

hadoop3服务器对应的myid为3

输入数字2

NIFI+外部zookeeper集群部署

5.3.3、新增集群服务( 配置成服务器别名比IP效果好,服务器迁移后只需重新配置hostname集群重新生效,不需要重新修改zookeeper配置文件)

server.1=hadoop1:2888:3888       

server.2=hadoop2:2888:3888

server.3=hadoop3:2888:3888

NIFI+外部zookeeper集群部署

配置好zoo.cfg后

5.3.4、将配置好的zookeeper发送到第二台、第三台服务器

[root@hadoop1 home]# scp -r zookeeper-3.4.8/   root@hadoop2:/home/

[root@hadoop1 home]# scp -r zookeeper-3.4.8/   root@hadoop3:/home/

在/home/zookeeper-3.4.8/data/下

把myid修改成hadoop1 修改成1  hadoop3 修改成3

5.3.5、zookeeper启动顺序 (zookeeper集群是通过myid值得大小来选举leader的。由于hadoop4的myid是3,最大)

①、192.168.0.112  hadoop3

②、192.168.0.111  hadoop2

③、192.168.0.109  hadoop1

5.3.6、zookeeper     指令   执行路径/home/zookeeper-3.4.8/bin

[root@hadoop1

[root@hadoop3 bin]# ./zkServer.sh start

[root@hadoop2 bin]# ./zkServer.sh start

zkServer.sh start     zookeeper启动

zkServer.sh stop     zookeeper停止

zkServer.sh restart     zookeeper重启

[root@hadoop4 bin]# ./zkServer.sh status

NIFI+外部zookeeper集群部署

[root@hadoop3 bin]# ./zkServer.sh status

[root@hadoop2 bin]# ./zkServer.sh status

zkServer.sh status     查看zookeeper状态 需要启动3台后看zookeeper服务启动状态

6、nifi安装,将nifi-1.8.0-bin.tar.gz部署包上传到服务器/home/目录下,后解压

[root@hadoop1 home]# tar -zxvf nifi-1.8.0-bin.tar.gz

NIFI+外部zookeeper集群部署

修改包名 mv nifi-1.8.0 nifi

NIFI+外部zookeeper集群部署

[root@hadoop1 nifi]# cd bin

NIFI+外部zookeeper集群部署

[root@hadoop1 bin]# vim nifi-env.sh

export JAVA_HOME=/usr/java/jdk1.8/

NIFI+外部zookeeper集群部署

[root@hadoop1 bin]# cd ../conf

NIFI+外部zookeeper集群部署

bootstrap.conf:配置服务运行占用资源大小

state-management.xml:zookeeper连接配置(使用外部zookeeper,这里暂不需配置)

zookeeper.properties:zookeeper服务配置(自带的zookeeper服务配置,暂不需配置)

nifi.properties:nifi服务配置

[root@hadoop1 conf]# vim nifi.properties (135行136行)

NIFI+外部zookeeper集群部署

205、206、207行

NIFI+外部zookeeper集群部署

226:hadoop1:2181,hadoop2:2181,hadoop3:2181

227、228:3 secs 修改成30 secs

229:/nifi修改成/nifi-prod/

NIFI+外部zookeeper集群部署

[root@hadoop2 conf]# vim nifi.properties

NIFI+外部zookeeper集群部署

NIFI+外部zookeeper集群部署

226:hadoop1:2181,hadoop2:2181,hadoop3:2181

227、228:3 secs 修改成30 secs

229:/nifi修改成/nifi-prod/

NIFI+外部zookeeper集群部署

[root@hadoop3 conf]# vim nifi.properties

NIFI+外部zookeeper集群部署

NIFI+外部zookeeper集群部署

226:hadoop1:2181,hadoop2:2181,hadoop3:2181

227、228:3 secs 修改成30 secs

229:/nifi修改成/nifi-prod/

NIFI+外部zookeeper集群部署

[root@hadoop1 conf]# vim bootstrap.conf

35、36行根据服务器资源配置nifi服务占用资源大小

NIFI+外部zookeeper集群部署

[root@hadoop1 bin]# ./nifi.sh start

[root@hadoop2 bin]# ./nifi.sh start

[root@hadoop3 bin]# ./nifi.sh start

分别启动3个nifi服务实例

访问连接:​​http://192.168.0.109:58080/nifi/​

NIFI+外部zookeeper集群部署

服务器自动更新重启后,nifi集群3节点启动后都连接不了集群

NIFI+外部zookeeper集群部署

解决办法:将/home/nifi/conf/flow.xml.gz文件删除(3台都要删除)

NIFI+外部zookeeper集群部署

查看日志在/home/nifi/logs下执行 [root@hadoop3 logs]# tail -f nifi-app.log 当发现出现successfully 如下所示 基本上集群就启动成功了

NIFI+外部zookeeper集群部署


以上是关于NIFI+外部zookeeper集群部署的主要内容,如果未能解决你的问题,请参考以下文章

Nifi05 Nifi单节点集群部署以及迁移

Nifi05 Nifi单节点集群部署以及迁移

NiFi 处理器无法连接到 Zookeeper

无法在启用 kerberos 的 3 节点集群上启动 NIFI

大数据NiFi:NiFi分布式安装

Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十一)NIFI1.7.1安装