如果您所使用的數據集群開啟了Kerberos身份認證,那么在查詢高安全集群數據時,您需要使用正確的Kerberos憑證進行身份驗證。為了確保您具有合適的權限來訪問數據,建議您按照本文的操作步驟來配置StarRocks集群。
前提條件
已創建包含了HDFS、Hive服務,并且開啟了Kerberos身份認證的集群(例如DataLake或Custom類型),詳情請參見創建集群。
說明本文創建的是包含HDFS、Hive服務,且開啟了Kerberos身份認證的DataLake集群。
已創建StarRocks集群,詳情請參見創建StarRocks集群。
使用限制
創建的兩個集群需要在同一個VPC下,并且在同一個可用區下。
操作步驟
步驟一:修改StarRocks集群的krb5.conf文件
在所有FE(Frontend)和BE(Backend)組件的節點上,以root用戶身份登錄,將/etc/krb5.conf
文件內容修改為與DataLake集群master-1-1節點的/etc/krb5.conf
文件內容保持一致。
您可以在E-MapReduce控制臺,StarRocks集群的StarRocks服務的狀態頁面,查看FE和BE組件的節點信息。
步驟二:創建Principal
登錄StarRocks集群的master-1-1節點,詳情請參見登錄集群。
執行
kadmin
命令,輸入密碼,進入kerberos的admin工具。說明您可以在E-MapReduce控制臺,數據集群的Kerberos服務的配置頁面,獲取admin_pwd參數的值,即為您需要輸入的密碼。
執行以下命令,創建用戶名為starrocks的Principal。
addprinc -pw <password> starrocks
需要記錄用戶名和密碼,下面在創建TGT(Ticket Granting Ticket)時會用到。
執行
quit
命令,退出Kerberos的admin工具。
步驟三:驗證Principal
以root用戶身份登錄FE和BE組件的所有節點,執行以下操作:
執行
su - starrocks
切換到starrocks用戶。執行
kinit
命令,按照提示輸入前面創建Principal時設置的密碼。執行
klist
命令,如果看到Default principal: starrocks@EMR.C-xxx.COM
的輸出信息,則表示Principal創建成功。
步驟四:新增配置項
進入StarRocks配置頁面。
在頂部菜單欄處,根據實際情況選擇地域和資源組。
在EMR on ECS頁面,單擊目標集群操作列的集群服務。
在集群服務頁面,單擊StarRocks服務區域的配置。
修改core-site.xml配置。
在StarRocks配置頁面,單擊core-site.xml頁簽。
在core-site.xml中新增以下配置項。
參數
說明
hadoop.security.authentication
配置為KERBEROS。
修改hdfs-site.xml配置。
在StarRocks配置頁面,單擊hdfs-site.xml頁簽。
在hdfs-site.xml中新增以下配置項。
參數
說明
dfs.data.transfer.protection
配置值與DataLake集群HDFS服務hdfs-site.xml配置文件里的相應配置項的值保持一致。
dfs.datanode.kerberos.principal
配置值與DataLake集群HDFS服務hdfs-site.xml配置文件里的相應配置項的值保持一致。
dfs.namenode.kerberos.principal
配置值與DataLake集群HDFS服務hdfs-site.xml配置文件里的相應配置項的值保持一致。
修改hive-site.xml配置。
在StarRocks配置頁面,單擊hive-site.xml頁簽。
在hive-site.xml中新增以下配置項。
參數
說明
hive.metastore.sasl.enabled
配置值與DataLake集群Hive服務hive-site.xml配置文件里的hive.metastore.sasl.enabled的值保持一致。
hive.metastore.kerberos.principal
配置值與DataLake集群Hive服務hive-site.xml配置文件里的hive.metastore.kerberos.principal的值保持一致。
保存配置。
單擊下方的保存。
在彈出的對話框中,輸入執行原因,單擊保存。
重啟StarRocks服務。
在StarRocks服務頁面,選擇右側的
。在彈出的對話框中,輸入執行原因,單擊確定。
在彈出的對話框中,單擊確定。
重啟后即可正常查詢開啟kerberos身份認證集群中的數據。