安裝Kerberos
安裝Ranger
安裝Ranger前需要安裝Infra Solr和MySQL,且允許root用戶遠程登錄。MySQL數據庫需要提前創建rangeradmin賬戶。
Ranger的安裝按照嚮導操作即可,需要注意的配置如下:
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服務。
創建Flink principle和Flink 用戶
創建Flink unix 用戶
useradd flink
創建Flink的principal
以root用戶登錄KDC所在的服務器,執行如下命令:
kadmin.local
# 這裏的hostname爲manager.bigdata
addprinc flink/[email protected]
# 生成keytab
ktadd -norandkey -k path/to/keytabFile.keytab flink/[email protected]
配置Flink 用戶的權限
此步驟需要通過Ranger賦予flink用戶操作HDFS和提交yarn任務隊列的權限。
打開Ranger主頁面。HDFS和YARN權限的配置分別在對應欄目的下方。
此處點擊my_cluster_hadoop。
點擊all-path右側的修改按鈕。在下方的allow condition中增加flink用戶。
同理修改YARN all-queue的配置,加入flink用戶。如圖所示
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/[email protected]
測試是否能啓動yarn session
執行命令:
bin/yarn-session -s 2 -nm flink_task -jm 1024 -tm 1024 -d
如果沒有報錯,執行(若沒有權限需要先kinit
認證):
yarn app -list
此處可以找到Flink任務,Flink on Yarn Kerberos配置成功。