保姆級連接FusionInsight MRS kerberos Hive

數新網絡,讓每個人享受數據的價值icon-default.png?t=N7T8https://xie.infoq.cn/link?target=https%3A%2F%2Fwww.datacyber.com%2F

概述

?本文將介紹在華為云 FusionInsight MRS(Managed Relational Service)的Kerberos環境中,如何使用Java和DBeaver實現遠程連接Hive的方法。?

JAVA 方式

一、測試環境信息

1.?MRS 3.1.5 安全集群(開啟kerberos)

2.?windows 11 64位,需要和MRS集群網絡互通

3.?IntelliJ IDEA 2022.3.2

二、創建角色和用戶

1.?登錄MRS管理控制臺頁面。

2.?單擊"集群列表",在"現有集群"列表,單擊指定的集群名稱,進入集群信息頁面。

3.?單擊“集群管理頁面”后的"前往Manager",打開Manager頁面。

a.?在彈性公網IP下拉框中選擇可用的彈性公網IP或單擊“管理彈性公網IP”購買彈性公網IP,并進行綁定。

b.?勾選"我確認xx.xx.xx.xx為可信任的公網訪問IP,并允許從該IP訪問MRS Manager頁面",如下圖:

圖片

4.?點擊"確定",進入Manager登錄頁面。

5.?輸入創建集群時默認的用戶名"admin"及設置的密碼,點擊"登錄"進入Manager頁面。

6.?在Manager 界面選擇"系統 > 權限 > 角色",如下圖:

圖片

7.?點擊"添加角色",如下圖:

圖片

填寫如下信息:

·?角色名稱:例如mrrole。

·?配置資源權限:選擇“HDFS > 文件系統 ”,勾選“權限”列的“讀”、“寫”和“執行”,勾選完全后,不要單擊確認,要單擊如下圖的待操作的集群名,再進行后面權限的選擇,其余產品也是類似操作,直至全部產品權限都已選擇完成。

圖片

8.?選擇“系統 > 權限 > 用戶組 > 添加用戶組”,為樣例工程創建一個用戶組,例如mrgroup,如下圖:

圖片

9.?選擇“系統 > 權限 > 用戶 > 添加用戶”,為樣例工程創建一個用戶,最后點擊"確定"完成用戶創建。如下圖:

·?用戶名:例如test,當需要執行Hive程序時,請設置用戶名為“hiveuser”。

·?用戶類型:“人機”用戶。

·?密碼:輸入密碼(特別注意該密碼在后面運行程序時要用到)

·?用戶組:加入用戶組mrgroup和supergroup。

·?主組:設置其“主組”為supergroup,

·?角色:綁定角色mrrole取得權限。

圖片

10.?選擇“系統 > 權限 > 用戶”,選擇新建用戶test,選擇“更多 >下載認證憑據”,保存后解壓得到用戶的keytab文件與krb5.conf文件。

圖片

11.?ECS 登錄kerberos用戶,第一次登錄會默認重置密碼的

圖片

圖片

注意:

·?如果在部署MRS服務的ECS上使用密碼登錄需要先進行密碼重置,重置密碼不可以與添加用戶的一致。重置過后需重新下載認證憑證。

三、準備工作

1.?下載hive客戶端配置

a.?登錄MRS管理控制臺頁面

b.?單擊“集群列表 > 現有集群”,在集群列表中單擊指定的集群名稱,進入集群信息頁面。

c.?輸入賬號密碼進入Manager頁面

d.?選擇“主頁 -> hive -> 更多-下載客戶端”

圖片

圖片

e.?選擇完成客戶端 ->x86_64-> 確定,下載到本地windows環境下

圖片

f.?下載完成后打開此文件

圖片

g.?根據如下圖片中的目錄將jdbc文件復制到本地

圖片

2.?下載keytab 文件

a.?登錄MRS管理控制臺頁面

b.?單擊“集群列表 > 現有集群”,在集群列表中單擊指定的集群名稱,進入集群信息頁面。

c.?輸入賬號密碼進入Manager頁面

d.?選擇系統->更多->下載認證憑證,下載到本地windows環境下

圖片

e.?將下載到本地的krb5.conf 文件內的地址修改為外網地址

3.?查看系統生成principal

a.?登錄到MRS集群ECS服務器,執行如下命令

圖片

圖片

b.?執行如下命令,查看系統principal?

圖片

圖片

4.?idea 引入本地依賴

a.打開創建好的maven項目,創建lib 文件夾,將JDBC文件夾內的jar放入lib目錄下

圖片

圖片

b.?點擊flie -> Project Stucture-> Moduies

圖片

圖片

c.?選擇文件夾然后點擊OK

圖片

d.?勾選上選擇的文件,然后點擊apply->ok

圖片

e.?加載完成

圖片

5.?idea 引入配置文件

a.?將修改完成的krb5.conf 導入至resources

b.?將user.keytab導入至resources

圖片

四、JAVA 代碼示例

1.?華為云使用代碼連接kerberos Hive URL 示例

a.?HiveServer2 連接URL示例

圖片

o {host}:彈性公網地址或內網地址

o {port}:hiveserver2 端口,默認10000

o {yousystemuser}:創建MRS集群系統為每個產品生成的principal,查看方式參考"系統生成principal"

o {youruser}:在"創建角色和用戶"創建的用戶名稱(注:無需跟realm也可以)

o {yourkeytabpath}:自己用戶的keytab文件路徑,keytab下載方式參考"下載keytab文件"

b.?Zookeeper 連接URL示例

圖片

o {host}:彈性公網地址或內網地址

o {port}:zookeeper 端口,默認2181

o {yousystemuser}:創建MRS集群系統為每個產品生成的principal,查看方式參考"系統生成principal"

o {youruser}:在"創建角色和用戶"創建的用戶名稱(注:無需跟realm也可以)

o {yourkeytabpath}:自己用戶的keytab文件路徑,keytab下載方式參考"下載keytab文件"

2.?自測代碼示例如下

a.?hiveServer2 方式

圖片

·?執行結果如下

圖片

b.?zookeeper 連接方式

注意:

o?zookeeper連接方式必須以內網進行連接,購買華為云ECS Windows 服務器或打jar包形式

o?上傳krb5.conf &user.keytab文件到 ECS服務器上,代碼中地址進行修改

圖片

·?執行結果如下

圖片

DBeaver 方式

一、測試環境信息

1.?MRS 3.1.5 安全集群(開啟kerberos)

2.?windows 11 64位,需要和MRS集群網絡互通

3.?DBeaver 21.3.0版本 64bit

4.?MIT 4.1 版本 64bit

二、準備工作

1.?MIT 安裝

a.?在官網下載對應的MIT版本,kerberos MIT官網地址

圖片

b.?下載完成后打開,點擊"Next"

圖片

c.?選擇同意協議并點擊"Next"

圖片

d.?選擇自定義安裝

圖片

e.?點擊 Browse-> look in -> ok-> Next

圖片

f.?取消開機自啟->Next

圖片

g.?點擊"Install",開始安裝Kerberos

圖片

h.?等待安裝結束后點擊"Finish"

圖片

i.?選擇Yes,重啟完成后進行下一步

圖片

2.?配置環境變量

a.?將修改完成的krb5.conf 文件重命名為krb5.ini,并放置某一路徑下(例:D:\softwarePackage\kerberos)

b.?配置環境變量

圖片

c.?進入到安裝MIT的bin目錄下,進行認證測試

圖片

3.?DBeaver安裝

a.?官網下載對應的DBeaver版本,DBeaver官網

圖片

圖片

b.?打開下載的exe文件->選擇語言模式->ok->下一步

圖片

圖片

圖片

c.?選擇我接受

圖片

d.?選擇多用戶使用->下一步

圖片

e.?選擇語言->ok

圖片

f.?點擊下一步->我接受

圖片

圖片

g.?選擇安裝的組件,DBeaver 21.3 版本java版本需要≥11,如果本機java環境大于11的話取消勾選"Include Java","DBeaver Community"是必選項,然后點擊下一步

圖片

h.?選擇部署的目標文件夾,然后點擊下一步

圖片

i.?選擇安裝DBeaver 菜單欄名稱(默認即可)->安裝

圖片

j.?等待安裝完成,勾選"Create Desktop Shortcut"(桌面快捷方式)->點擊完成

圖片

k.?安裝完成后,進入DBeaver安裝路徑,在dbeaver.ini追加如下內容,然后保存退出,配置完成后需要重啟DBeaver

圖片

圖片

注意:java.security.krb5.conf路徑替換為自己的主機所在的地址

三、DBeaver 創建連接

1.?打開DBeaver->創建新連接->選擇Hive->點擊下一步

圖片

圖片

2.?編輯驅動設置

圖片

3.?配置URL模板

a.?URL 模板如下

圖片

o?{yousystemuser} 替換自己MRS集群的principal,查找方式參考"查看系統生成principal"

o {port}:替換為自己Hive端口

b.?將URL模板填充至標紅部分

圖片

4.?選擇需要引入的jar,下載步驟參考"下載hive客戶端配置"

圖片

圖片

圖片

5.?點擊找到類->確定

圖片

6.?填充外網地址&數據庫名稱,然后測試鏈接

圖片

圖片

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167303.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167303.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167303.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

threejs創建一個旋轉的正方體【完整代碼】

效果: 中文網three.js docs 1.搭建環境 安裝three 首先我們需要新建一個項目 vue/react都可 這里以vue為演示 npm i three 找到一個新的頁面 在頁面script的地方導入three import * as THREE from "three" 或者自己逐個導入 import {PerspectiveC…

京東采銷面對面,洞悉行業新趨勢 京東3C數碼生態大會在武漢圓滿舉行

為促進湖北省3C數碼產業發展,本地企業降本增效、促進行業交流、充分發揮京東集團全鏈路生態服務能力,支持地方3C特色產業提質增量。2023年11月23日,由京東零售、京東物流主辦,湖北省電子商務行業協會聯合協辦的“聚力共贏、攜手共…

【Kotlin精簡】第9章 Kotlin Flow

1 前言 上一章節我們學習了Kotlin的協程【Kotlin精簡】第8章 協程,我們知道 協程實質是對線程切換的封裝,能更加安全實現異步代碼同步化,本質上協程、線程都是服務于并發場景下,其中協程是協作式任務,線程是搶占式任務…

保姆級 ARM64 CPU架構下安裝部署Docker + rancher + K8S 說明文檔

1 K8S 簡介 K8S是Kubernetes的簡稱,是一個開源的容器編排平臺,用于自動部署、擴展和管理“容器化(containerized)應用程序”的系統。它可以跨多個主機聚集在一起,控制和自動化應用的部署與更新。 K8S 架構 Kubernete…

從Redis反序列化UserDetails對象異常后中發現FastJson序列化的一些問題

最近在使用SpringSecurityJWT實現認證授權的時候,出現Redis在反序列化userDetails的異常。通過實踐發現,使用不同的序列化方法和不同的fastJson版本,異常信息各不相同。所以特地記錄了下來。 一、項目代碼 先來看看我項目中redis相關配置信息…

視頻號小店常見問題分享,讓你少走彎路,少花冤枉錢!

我是電商珠珠 視頻號團隊自22年7月,就開始發展起了自己的電商平臺-視頻號小店。 關于視頻號小店有很多人可能還不太了解,尤其是對于新手來說,并不知道是干什么的。 我踏足電商這個領域也已經五六年了,視頻號小店也做了一年多了…

SpringBoot集成MapStruct

引入mapstruct依賴 <dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${org.mapstruct.version}</version> </dependency>配置maven-compiler-plugin <build><plugins>&…

VMware Workstation 17 虛擬機自啟動失效 解決腳本

VMware Workstation17新增加了虛擬機自啟配置 但是很奇怪在我的一臺計算機上能夠自啟&#xff0c;在另一臺計算機上就失效 編寫腳本 以命令方式完成虛擬機開機自啟 #虛擬機自啟.batif "%1""hide" goto CmdBegin start mshta vbscript:createobject("w…

緩存組件狀態,提升用戶體驗:探索 keep-alive 的神奇世界

&#x1f90d; 前端開發工程師&#xff08;主業&#xff09;、技術博主&#xff08;副業&#xff09;、已過CET6 &#x1f368; 阿珊和她的貓_CSDN個人主頁 &#x1f560; 牛客高級專題作者、在牛客打造高質量專欄《前端面試必備》 &#x1f35a; 藍橋云課簽約作者、已在藍橋云…

Day31| Leetcode 455. 分發餅干 Leetcode 376. 擺動序列 Leetcode 53. 最大子數組和

進入貪心了&#xff0c;我覺得本專題是最燒腦的專題 Leetcode 455. 分發餅干 題目鏈接 455 分發餅干 讓大的餅干去滿足需求量大的孩子即是本題的思路&#xff1a; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {…

仿ChatGPT對話前端頁面(內含源碼)

仿ChatGPT對話前端頁面&#xff08;內含源碼&#xff09; 前言布局樣式和Js部分關鍵點全部源碼 前言 本文主要講解如何做出類似ChatGPT的前端頁面。具體我們的效果圖是長這樣&#xff0c;其中除了時間是動態的之外&#xff0c;其他都是假數據。接下來讓我們從布局和樣式的角度…

Android Tombstone 與Debuggerd 原理淺談

一、前言 Android系統類問題主要有stability、performance、power、security。Android集成一個守護進程tombstoned是android平臺的一個守護進程&#xff0c;它注冊成3個socket服務端&#xff0c;客戶端封裝在crash_dump和debuggerd_client。 crash_dump用于跟蹤定位C crash&am…

前端入門(三)Vue生命周期、組件技術、事件總線、

文章目錄 Vue生命周期Vue 組件化編程 - .vue文件非單文件組件組件的注意點組件嵌套Vue實例對象和VueComponent實例對象Js對象原型與原型鏈Vue與VueComponent的重要內置關系 應用單文件組件構建 Vue腳手架 - vue.cli項目文件結構refpropsmixin插件scoped樣式 Vue生命周期 1、bef…

MBA-論證有效性分析

論證有效性分析∶分析下述論證中存在的缺陷和漏洞&#xff0c;選擇若干要點&#xff0c;寫一篇 600 字左石的文章.對該論證的有效性進行分析和評論。&#xff08;論證有效性分析的一般要點是∶概念特別是核心概念的界定和使用是否準確并前后一致&#xff0c;有無各種明顯的邏輯…

cineSync 3.3新功能: 深入iconik集成、激光工具、OTIOZ支持等

cineSync 3.3為大家帶來了靈活性和精準度&#xff0c;使連接審閱會話與iconik中的媒體管理和存儲更加容易&#xff0c;并且引入了顏色配置文件以快速測試顏色配置&#xff0c;還有通過激光指針等新工具帶來新的可能性。 在ftrack&#xff0c;我們意識到當今的遠程創意工作流比以…

vue3 導出數據為 excel 文件

文章目錄 安裝插件封裝組件 -- Export2Excel.js多表封裝界面使用 -- 數據處理成二維數組更多 菜鳥最近做了一個需求&#xff0c;就是需要上傳表單并識別&#xff0c;然后識別出來的內容要可以修改&#xff0c;然后想的就是識別內容變成 form 表單&#xff0c;所以并沒有使用 Sp…

反爬蟲機制與反爬蟲技術(二)

反爬蟲機制與反爬蟲技術二 1、動態頁面處理與驗證碼識別概述2、反爬蟲案例:頁面登錄與滑塊驗證碼處理2.1、用例簡介2.2、庫(模塊)簡介2.3、網頁分析2.4、Selenium準備操作2.5、頁面登錄2.6、模糊移動滑塊測試3、滑塊驗證碼處理:精確移動滑塊3.1、精確移動滑塊的原理3.2、滑…

【模塊補充】importlib

importlib 【一】介紹 importlib 模塊是 Python 中用于動態加載和導入模塊的內置模塊。它提供了一組函數和類&#xff0c;使得我們可以在運行時根據需要加載模塊&#xff0c;并且可以對已導入的模塊進行操作和管理。 【二】詳解及示例&#xff1a; 【1】動態加載模塊&#…

PyQt6簡介

鋒哥原創的PyQt6視頻教程&#xff1a; 2024版 PyQt6 Python桌面開發 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili2024版 PyQt6 Python桌面開發 視頻教程(無廢話版) 玩命更新中~共計12條視頻&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面開發 視頻教程(無廢話版…

企業遠程訪問業務系統:對比MPLS專線,貝銳蒲公英為何更優優勢?

如今&#xff0c;企業大多都會采用OA、ERP、CRM等各種數字化業務系統。 私有云、公有云混合架構也變得越來越常見。 比如&#xff1a;研發系統部署在公司本地私有云、確保數據安全&#xff0c;OA采用公有云方案、滿足隨時隨地訪問需求。 如此一來&#xff0c;也產生了遠程訪問…