安装Kerberos
安装Ranger
安装Ranger前需要安装Infra Solr和MySQL,且允许root用户远程登录。MySQL数据库需要提前创建rangeradmin账户。
Ranger的安装按照向导操作即可,需要注意的配置如下:
Ranger Admin配置
MySQL驱动需要通过如下命令配置到Ambari。
ambari-server setup --jdbc-db=mysql --jdbc-driver=/path/to/mysql/com.mysql.jdbc.Driver
安装Ranger后,去Configs -> Ranger Plugin页面,打开HDFS和Yarn Ranger Plugin。之后重启HDFS和Yarn服务。
配置Ranger插件
创建Flink principle和Flink 用户
创建Flink unix 用户
useradd flink
创建Flink的principal
以root用户登录KDC所在的服务器,执行如下命令:
kadmin.local
# 这里的hostname为manager.bigdata
addprinc flink/manager.bigdata@HADOOP.COM
# 生成keytab
ktadd -norandkey -k path/to/keytabFile.keytab flink/manager.bigdata@HADOOP.COM
配置Flink 用户的权限
此步骤需要通过Ranger赋予flink用户操作HDFS和提交yarn任务队列的权限。
打开Ranger主页面。HDFS和YARN权限的配置分别在对应栏目的下方。
Ranger主页面部分截图
此处点击my_cluster_hadoop。
HDFS权限配置
点击all-path右侧的修改按钮。在下方的allow condition中增加flink用户。
HDFS权限修改
同理修改YARN all-queue的配置,加入flink用户。如图所示
Yarn权限配置 Yarn权限修改
Flink配置认证principal
编辑Flink 安装目录的`conf/flink-conf.yaml,修改如下三行。
security.kerberos.login.use-ticket-cache: true
security.kerberos.login.keytab: /home/hdfs/flink.manager.bigdata.keytab
security.kerberos.login.principal: flink/manager.bigdata@HADOOP.COM
测试是否能启动yarn session
执行命令:
bin/yarn-session -s 2 -nm flink_task -jm 1024 -tm 1024 -d
如果没有报错,执行(若没有权限需要先kinit
认证):
yarn app -list
此处可以找到Flink任务,Flink on Yarn Kerberos配置成功。
如果yarn报timeline service错误,可以将timeline-service禁止。方法为修改yarn的yarn.timeline-service.enabled
为false
网友评论