nifi 1.7.1 安全集群设置+用户创建(Kerberos 配置 )

系统环境及软件版本

  • CentOS7

  • JDK1.8.0_91

  • Nifi-1.7.1

  • Kerberos5 

  • zookeeper3.4.5

  • nifi-toolkit-1.7.1

集群信息:

host_nameIPservice
server192.0.0.230Kerberos5 Server, Nifi Cluster Manager,zookeeper 
client192.0.0.231
Kerberos5 Client, Nifi Cluster,zookeeper

前置准备:( 软件安装,网络ip)不在赘述

配置主机名:

 

vi /etc/hosts

关闭防火墙:

搭建Kerberos5服务

安装KDC服务及配置:

进入到server机器,执行以下命令安装KDC服务:

1yum -y install krb5-server krb5-libs krb5-workstation krb5-auth-dialog


修改KDC默认配置:

进入/etc目录找到/etc/krb5.conf文件打开并修改,参考如下:

修改KRB5KDC配置文件:

进入/etc目录找到/var/kerberos/krb5kdc/kdc.conf文件打开,参考如下修改:

保证与krb5.conf中的realms一致

初始化数据库:

输入自己的初始化密码:

修改数据库权限

找到/var/kerberos/krb5kdc/kadm5.acl配置文件,给数据库管理员添加ACL权限,*代表全部权限,操作如下:

设置kerberos服务开机启动,并且启动服务
      手动启动服务

service krb5kdc start
service kadmin start

      设置开机自动启动

chkconfig krb5kdc on
chkconfig kadmin on

 

创建数据库管理员

参考如下命令创建管理员用户,保存好创建时设置的密码(如果忘记后期可以使用cpw命令更新),并导出keytab

[root@server ~]#kadmin.local -q "addprinc admin/admin"

[root@server ~]#kadmin.local

kadmin:addprinc -randkey test/NIFI

kadmin:ktadd -k /opt/test-NIFI.keytab test/NIFI

kadmin:q

验证管理员用户
创建login/server@NIFI.COM作为管理员账户,自定义密码为hadoop
kadmin.local -q "addprinc login/server" 
使用kinit命令来检测创建的用户是否成功(需要输入密码),可以集群间验证

kinit login/server@NIFI.COM

 

安装KDC Client服务

进入从Cluster机器,执行如下命令安装KDC Cliente服务:

1yum -y install krb5-libs krb5-workstation

拷贝主节点的krb5.conf和test-NIFI.keytab到从节点服务,参考如下:注意此处指的是所有机器

1

[root@client ~]# scp root@server:/etc/krb5.conf /etc/krb5.conf

 

2[root@client ~]# scp root@server:/opt/test-NIFI.keytab /opt/test-NIFI.keytab

证书生成

下载与安装
下载地址:http://nifi.apache.org/download.html
下载后解压安装nifi-toolkit-1.1.2-bin.zip (或tar.gz格式,自己选择最新版本),配置好环境变量方便使用。
 生成相关证书
为server节点生成密钥库,truststore,nifi.properties以及具有给定DN的客户端证书。

./tls-toolkit.sh standalone -n 'server, client' -C 'CN=admin, OU=NIFI' -o './target'

  • -n 表示机器的hostname
  • -C 生成浏览器证书(注意: CN=admin, 后面的空格一定要保留)
  • -o 输出的目录
  • -f Nifi的配置文件位置

拷贝证书

拷贝生成好证书到主从节点服务器下NIFI安装目录中的conf文件夹,如下:

1[root@server target]# scp target/client/* root@client:/home/hadoop/app/nifi-1.7.1/conf
2[root@server target]# cp target/serverr/* /home/hadoop/app/nifi-1.7.1/conf

配置Zookeeper服务

注意:所有的主从节点都需要操作

切换到zookeeper目录的conf下复制zoo.cfg文件

cp zoo_sample.cfg zoo.cfg

并修改zoo.cfg 文件:

在创建数据文件和日志文件,并在数据文件中创建myid

注意: 创建的myid为1,如:echo -n '1' > /home/hadoop/data/zookeeper/zkdata/myid

更新NIFI配置

进入到Nifif安装目录下修改conf/nifi.properties文件,把内置的zookeeper启动设置为false,如下:

nifi.state.management.embedded.zookeeper.start=false

配置Nifi Admin初始化

更新NIFI配置

进入到Nifif安装目录修改conf/nifi.properties文件,把kerberos5的登录适配加上,如下:

配置nifi登陆信息
vi login-identity-providers.xml 放开kerberos-provider的注释

配置用于登陆的用户信息
vi authorizers.xml

初始化、授权、策略一定都要配置好,管理用户是生产key时的用户(-C 'CN=admin, OU=NIFI'),个集群的节点名称也要授权,用于集群的识别。

更新登录配置

进入到Nifi安装目录中的conf目录,修改login-identity-providers.xml文件,打开kerberos-provider节点注释:(和上面配置成一样的域)

启动NIFI服务

先启动主节点的NIFI,而后启动从节点的NIFI,执行命令./bin/nifi.sh start,然后启动主节点和从节点的zookeeper,执行命令/home/hadoop/app/zookeeper3.4.5/bin/zkServer.sh start

 然后打开浏览器添加之前生成的证书CN=admin_OU=NIFI.p12和密码CN=admin_OU=NIFI.password:Chrome浏览器为例

倒入.p12文件,密码在.password中

登录:

输入https://server:9443/nifi/便会跳转到登录页面,即可登录成功。界面显示如下:

然后进行用户配置授权即可:

用户新增和租户管理:

由于用的是Kerberos管理的所以,我们的用户必须先用管理员账户登录--->然后再users和Policies中创建用户和添加权限--->再在kdc中添加你创建的用户名(设置用户名、密码)--->退出管理员帐户重新用新创建的用户登录。

   

注:如有写的不对的地方欢迎指正交流,谢谢。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值