kerberos系列之flink认证配置

bainianminguo bainianminguo     2023-04-06     619

关键词:

大数据安全系列的其它文章

https://www.cnblogs.com/bainianminguo/p/12548076.html-----------安装kerberos

https://www.cnblogs.com/bainianminguo/p/12548334.html-----------hadoop的kerberos认证

https://www.cnblogs.com/bainianminguo/p/12548175.html-----------zookeeper的kerberos认证

https://www.cnblogs.com/bainianminguo/p/12584732.html-----------hive的kerberos认证

https://www.cnblogs.com/bainianminguo/p/12584880.html-----------es的search-guard认证

https://www.cnblogs.com/bainianminguo/p/12639821.html-----------flink的kerberos认证

https://www.cnblogs.com/bainianminguo/p/12639887.html-----------spark的kerberos认证

今天的博客介绍大数据安全系列之flink的kerberos配置

一、flink安装

1、解压安装包

tar -zxvf flink-1.8.0-bin-scala_2.11.tgz -C /usr/local/

  

2、重命名安装目录

[root@cluster2-host1 local]# mv flink-1.8.0/ flink

  

3、修改环境变量文件

export FLINK_HOME=/usr/local/flink
export PATH=$PATH:$FLINK_HOME/bin

  

[root@cluster2-host1 data]# source /etc/profile

[root@cluster2-host1 data]# echo $FLINK_HOME

/usr/local/flink

4、修改flink的配置文件

[root@cluster2-host1 conf]# vim flink-conf.yaml 
[root@cluster2-host1 conf]# pwd
/usr/local/flink/conf

  

jobmanager.rpc.address: cluster2-host1

  

修改slaver文件

[root@cluster2-host1 conf]# vim slaves 
[root@cluster2-host1 conf]# pwd
/usr/local/flink/conf

  

cluster2-host2
cluster2-host3

  

修改master文件

[root@cluster2-host1 bin]# cat /usr/local/flink/conf/masters 
cluster2-host1

  

修改yarn-site.xml文件

<property>
  <name>yarn.nodemanager.vmem-pmem-ratio</name>
  <value>5</value>
</property>

  

5、创建flink用户

[root@cluster2-host3 hadoop]# useradd flink -g flink
[root@cluster2-host3 hadoop]# passwd flink 
Changing password for user flink.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word
Retype new password: 

  

6、修改flink安装目录的属主和属组

[root@cluster2-host3 hadoop]# chown -R flink:flink /usr/local/flink/

  

7、启动flink验证安装步骤

[root@cluster2-host1 bin]# ./start-cluster.sh 
Starting cluster.
[INFO] 1 instance(s) of standalonesession are already running on cluster2-host1.
Starting standalonesession daemon on host cluster2-host1.
Starting taskexecutor daemon on host cluster2-host2.
Starting taskexecutor daemon on host cluster2-host3.

  

检查进程

[root@cluster2-host1 bin]# jps
10400 Secur
30817 StandaloneSessionClusterEntrypoint
12661 ResourceManager
12805 NodeManager
4998 QuorumPeerMain
30935 Jps
2631 NameNode

  

登陆页面

http://10.87.18.34:8081/#/overview

  

关闭flink,上面的standalone的启动方法,下面启动flink-session模式

拷贝hadoop的依赖包到flinklib目录

 

scp flink-shaded-hadoop2-uber-2.7.5-1.8.0.jar /usr/local/flink/lib/

 

  

启动flink-session模式

 ./yarn-session.sh -n 2 -s 6 -jm 1024 -tm 1024 -nm test -d

  

检查yanr的页面

技术图片

 

 

二、配置flink的kerberos的配置

 

1、创建flinkkerberos认证主体文件

 

kadmin.local:  addprinc flink/cluster2-host1
kadmin.local:  addprinc flink/cluster2-host2
kadmin.local:  addprinc flink/cluster2-host3

 

 

kadmin.local:  ktadd -norandkey -k /etc/security/keytab/flink.keytab flink/cluster2-host1
kadmin.local:  ktadd -norandkey -k /etc/security/keytab/flink.keytab flink/cluster2-host2
kadmin.local:  ktadd -norandkey -k /etc/security/keytab/flink.keytab flink/cluster2-host3

  

 

2、拷贝keytab文件到其它节点

[root@cluster2-host1 bin]# scp /etc/security/keytab/flink.keytab root@cluster2-host2:/usr/local/flink/
flink.keytab                                                                                                                                                                                                                                100% 1580     1.5KB/s   00:00    
[root@cluster2-host1 bin]# scp /etc/security/keytab/flink.keytab root@cluster2-host3:/usr/local/flink/
flink.keytab

  

3、修改flink的配置文件

security.kerberos.login.use-ticket-cache: true
security.kerberos.login.keytab: /usr/local/flink/flink.keytab
security.kerberos.login.principal: flink/cluster2-host3
yarn.log-aggregation-enable: true

  

4、启动yarn-session,看到如下操作,则配置完成

 

flink@cluster2-host1 bin]$  ./yarn-session.sh -n 2 -s 6 -jm 1024 -tm 1024 -nm flink5 -d

2020-03-05 02:42:23,706 INFO  org.apache.hadoop.security.UserGroupInformation               - Login successful for user flink/cluster2-host1 using keytab file /usr/local/flink/flink.keytab

 

  

查看页面

技术图片

 

 

检查进程

[root@cluster2-host1 sbin]# jps
6118 ResourceManager
15975 NameNode
22472 -- process information unavailable
6779 NodeManager
23483 YarnSessionClusterEntrypoint
24717 Master
9790 QuorumPeerMain
25534 Jps
20239 Secur

  

5、flink的kerberos的配置完成

 

flinlkflink小坑之kerberos动态认证(代码片段)

1.概述转载并且补充:Flink小坑之kerberos动态认证2.官网这段内容摘抄自官网:KerberosAuthenticationSetupandConfiguration配置:Kerberos-basedAuthentication/AuthorizationFlink通过Kafka连接器提供了一流的支持,可以对Kerberos配置的K 查看详情

flink问题总结(5)如何读取kerberos认证的hadoop数据

参考技术A2.配置flink-conf.yml:https://stackoverflow.com/questions/34596165/how-to-do-kerberos-authentication-on-a-flink-standalone-installation 查看详情

flinkkafkakerberos的配置

参考技术AFlink消费集成kerberos认证的kafka集群时,需要做一些配置才可以正常执行。    Flink版本:1.8;kafka版本:2.0.1;Flink模式:Standalone  //指示是否从Kerberosticket缓存中读取    security.kerberos.l... 查看详情

flinkflink源码之安全认证(代码片段)

...到了。本篇分析下Flink安全认证部分的处理方式。主要为Kerberos认证相关内容。下面从配置项开始分析。2.SecurityConfiguration此类包含了Flin 查看详情

flink访问带kerberos认证的kafka:can‘tgetmasterkerberosprincipalforuseasrenewer(代码片段)

...iledwithexceptionjava.io.IOException:java.io.IOException:Can'tgetMasterKerberosprincipalforuseasrenewer在yarn-site.xml中添加以下配置<property><name>yarn.nodemanager.principal</name><value>xxx_priciple/fqdn@_HOST</value></property><property>&l... 查看详情

rhce7.0答案之使用ldap作为本地用户认证方式

...同程序提供。yum-yinstallsssdauthconfig-gtkkrb5-workstation(若不用kerberos验证则不用装)authconfig-gtk图形界面ldapuser0:password由ldap提供ldapuser0=kerberos由kerberos提供认证若是kerberos认证则会提供kerberos地 查看详情

flink记录一次flink消费kafka写入elastic在kerberos认证的情况下不消费问题(代码片段)

文章目录1.概述2.排查过程哎要放假了,我真的是心在曹营身在汉,很想回家了,肿么办无心学习,指向跑路。5Lmd5biI5YWE5ZSv5LiA5Y6f5Yib哎要放假了,我真的是心在曹营身在汉,很想回家了,肿么办无心学习,指向跑路。5Lmd5biI5YWE5ZSv... 查看详情

大数据问题排查系列-大数据集群开启kerberos认证后hive作业执行失败(代码片段)

大数据问题排查系列-大数据集群开启kerberos认证后HIVE作业执行失败1前言大家好,我是明哥!本文是大数据问题排查系列的kerberos问题排查子序列博文之一,讲述大数据集群开启kerberos安全认证后,hive作业执行失败... 查看详情

flink1.6系列之—flinkonyarn流程详解

 本篇我们介绍下,Flink在YARN上运行流程:   当开始一个新的Flinkyarn会话时,客户端首先检查所请求的资源(containers和内存)是否可用。如果资源够用,之后,上传一个jar包,包含Flink和HDFS的配置。客户端向yarnreso... 查看详情

flink系列之:基于scala语言实现flink实时消费kafkatopic中的数据(代码片段)

Flink系列之:基于scala语言实现flink实时消费KafkaTopic中的数据一、引入flink相关依赖二、properties保存连接kafka的配置三、构建flink实时消费环境四、添加Kafka源和处理数据五、完整代码六、执行程序查看消费到的数据一、引入fli... 查看详情

集成openldap与kerberos实现统一认证:基于sasl/gssapi深度集成(代码片段)

...标3.重要概念3.1SASL3.2GSSAPI3.3SASL与GSSAPI的关系3.4saslauthd3.5Kerberos化4.核心原理4.1基于SASL/GSSAPI实现Kerberos账号登录OpenLDAP4.2基于olcAuthzRegexp规则映射Kerberos与OpenLDAP账号4.3基于saslauthd进行委托认证5.安装操作5.1安装客户端5.1.1安装客户端... 查看详情

认证模式之spnego模式

...一种由微软提出的使用GSS-API接口的认证模式。它扩展了Kerberos协议,在了解Spnego协议之前必须先了解Kerberos协议,Kerberos协议主要解决身份认证及通信密钥协商问题。它大致的工作流程例如以下: ①client依据自己username向密钥... 查看详情

zookeeper配置kerberos认证的坑

zookeeper配置了kerberos之后,zkCli.sh连接认证死活不通过连接命令:zkCli.sh报错如下:WatchedEvent state:SyncConnected type:None path:null2017-08-21 10:11:42,054 [myid:] - ERROR [main-Send 查看详情

flinkflink跨集群访问开启kerberos认证的kafka(代码片段)

1.概述转载:Flink跨集群访问开启Kerberos认证的KafkaFlink提供了三个模块来对集群进行安全验证,分别是HadoopModule、JaasModule、ZooKeeperModule。安全认证相关参数对应的类SecurityOptions。HadoopModule用来对使用UserGroupInformation进行身... 查看详情

kafka认证三:添加kerberos认证详细流程(代码片段)

背景上一章节介绍了Kerberos服务端和客户端的部署过程,本章节继续介绍Kafka添加Kerberos认证的部署流程,及JavaAPI操作的注意事项。sasl.kerberos.service.name配置的含义Kafka添加Kerberos部署的核心是Kafka服务端的Principal配置,... 查看详情

kafka认证三:添加kerberos认证详细流程(代码片段)

背景上一章节介绍了Kerberos服务端和客户端的部署过程,本章节继续介绍Kafka添加Kerberos认证的部署流程,及JavaAPI操作的注意事项。sasl.kerberos.service.name配置的含义Kafka添加Kerberos部署的核心是Kafka服务端的Principal配置,... 查看详情

离线数仓之kerberos基本使用及问题记录

离线数仓之Kerberos基本使用及问题记录​​0.写在前面​​​1.Kerberos基本使用​​​0.启动Kerberos相关服务​​​​1.安全模式下启动Hadoop集群​​​2.安装Kerberos客户端访问HDFS页面​​​0.Windows下安装MITKerberosTicketManager​​​​1.... 查看详情

集成openldap与kerberos实现统一认证:基于sssd同步ldap账号(代码片段)

...的用户身份认证方案。此前,我们实现过WindowsAD+Kerberos的集成方案,由于WindowsAD是LDAP和Kerberos的双重实现,这种天然优势使得WindowsAD可以实现真正意义上的(大数据集群的)Kerberos账号与企业用户账号的统... 查看详情