天天看點

Hadoop資料源及計算源支援二段式Principal背景說明配置說明

背景說明

Principal(主體)是系統中的身份,如hadoop namenode等被賦予身份的人或事物。在Hadoop中,通常為叢集中的每個服務和計算機建立不同的主體,例如hdfs/node1、hdfs/node2、...等等。這些主體将用于運作在node1、node2等上的所有HDFS守護程式。

Kerberos使用者Principal有兩部分組成:[email protected]。隻有基于主機的服務主體有3個部分 (額外的部分是運作服務的主機),如principal=hive/[email protected]

在beeline connect字元串中,您應該始終對要連接配接的HiveServer2執行個體使用hive服務主體。另一種選擇是使用 _ HOST而不是特定的主機名,該主機名将擴充為正确的主機。

三段式(即基于主機的服務主體)的Principal有幾個問題:

  1. 當重新開機叢集後,需要重新生成keytab檔案,導緻運維成本和複雜度增加
  2. 客戶出于安全考慮,在生産環境中往往使用的是兩段式principal如:

    [email protected]

是以Dataphin從V2.9版本開始支援二段式Principal的配置。以下的配置支援Hadoop計算源以及Hadoop相關的資料源,但僅以Hadoop資料源為例。

配置說明

前置條件:

① 叢集已經做好Kerberos相關的配置

② 已經準備好使用者Principal的keytab檔案

HDFS

在建立HDFS資料源連接配接時支援簡單模式和Kerberos模式。簡單方式在此不再贅述。若需使用二段式Principal進行認證,則

  1. 開啟Kerberos認證
  2. 使用使用者Principal的keytab檔案
  3. 填入使用者Principal
Hadoop資料源及計算源支援二段式Principal背景說明配置說明

Hive

Hive的連接配接方式目前Dataphin支援三種場景:簡單模式,Kerberos(二段式及三段式),ZooKeeper HA模式。對于簡單方式使用username和password方式登入,不再贅述。

配置Hive 資料源時,JDBC URL的Principal需要是Server級别的Principal,但是使用使用者Principal及其keytab檔案如:

jdbc:hive2://cdh-master:2181,cdh-worker01:2181,cdh-worker02:2181/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk;principal=hive/[email protected]

Hadoop資料源及計算源支援二段式Principal背景說明配置說明

Impala

保持與三段式的Kerberos Principal相同,JDBC URL如:

jdbc:impala://cdh-master:21050/default;AuthMech=1;KrbServiceName=impala;KrbRealm=DATAPHIN.COM;KrbHostFQDN=cdh-master

Keytab使用使用者Principal的Principal。如下圖所示:

Hadoop資料源及計算源支援二段式Principal背景說明配置說明

HBase

  • 連接配接位址:hbase.zookeeper.quorum的位址,如:cdh-worker02:2181,cdh-master:2181,cdh-worker01:2181
  • 配置檔案:可選上傳hbase-site.xml
  • Kerberos:設定為開啟
  • KDC Server:輸入KDC的位址或切換為krb5檔案
  • KeytabFile:上傳使用者的Keytab檔案,可用kinit生成
  • Principal:設定使用者Principal
Hadoop資料源及計算源支援二段式Principal背景說明配置說明