通過SSH隧道訪問Cloudera Manager服務組件Web UI
在Cloudera Manager集群中,為保證集群安全,Hadoop、Spark和Flink等開源組件的Web UI的端口均未對外開放。您可以通過在本地服務器上建立SSH隧道以端口轉發的方式來訪問Web UI,通過本地端口轉發方式。本章節將為您介紹通過SSH隧道訪問CM服務組件Web UI的具體操作流程。
獲取Utility節點的公網IP地址
使用動態端口轉發方式
創建從本地服務器開放端口到集群主節點的SSH隧道,并運行偵聽該端口的本地SOCKS代理服務器,端口的數據會由SSH隧道轉發到集群主節點
創建SSH隧道
密鑰的方式
ssh -i <密鑰文件路徑> -N -D 8157 root@<Utility節點公網IP地址>
密碼方式
ssh -N -D 8157 root@<Utility節點公網IP地址>
相關參數描述如下:
8157:本地服務器端口以8157為例,實際配置時,您可使用本地服務器未被使用的任意一個端口。
-D:使用動態端口轉發,啟動SOCKS代理進程并偵聽用戶本地端口。
<Utility節點公網IP地址>:獲取方式請參見獲取Utility節點的公網IP地址。
<密鑰文件路徑>:密鑰文件保存的路徑。
配置瀏覽器
完成動態轉發配置以后,您可以從以下兩種方式中選擇一種來進行瀏覽器配置。
方式1 Chrome瀏覽器命令行方式
打開命令行窗口,進入本地Google Chrome瀏覽器客戶端的安裝目錄。
操作系統不同,Chrome瀏覽器的默認安裝目錄不同。
操作系統 | Chrome默認安裝路徑 |
Mac OS X | "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/chrome-with-proxy" \ --proxy-server="socks5://localhost:8157" |
Linux | /usr/bin/google-chrome \ --user-data-dir="$HOME/chrome-with-proxy" \ --proxy-server="socks5://localhost:8157" |
Windows | "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\chrome-with-proxy" ^ --proxy-server="socks5://localhost:8157" |
8157:本地服務器端口以8157為例,實際配置時,您可使用本地服務器未被使用的任意一個端口。
在此 Chrome 會話中,您就可以通過內網訪問 Cloudera Manager 和其他 Web UI 了。
比如:http://cdp-master-1.xxxx.cn-hangzhou.cdp.aliyuncs.com:9870/dfshealth.html#tab-overview
方式2 配置代理擴展程序的方式
代理擴展程序可以幫助您更加輕松地在瀏覽器中管理和使用代理,確保網頁瀏覽和集群Web UI訪問互不干擾。
安裝Chrome的SwitchyOmega插件。
安裝完成以后,單擊SwitchyOmega插件,然后在彈出框中選擇選項進行配置。
單擊新建情景模式,輸入情景模式名稱(例如SSH pac),情景模式類型選擇PAC情景模式。
在PAC腳本中配置以下內容。
function regExpMatch(url, pattern) {
try { return new RegExp(pattern).test(url); } catch(ex) { return false; }
}
function FindProxyForURL(url, host) {
// Important: replace 172.31 below with the proper prefix for your VPC subnet
if (shExpMatch(url, "*localhost*")) return "SOCKS5 localhost:8157";
if (shExpMatch(url, "*cdp-*")) return "SOCKS5 localhost:8157";
return 'DIRECT';
}
完成上述參數配置后,在左側導航欄中單擊應用選項。
打開Chrome瀏覽器,在Chrome中單擊SwitchyOmega插件,切換到之前創建的SSH tunnel情景模式下。
登錄CDP管控,訪問相應服務的Web UI。 例如:訪問Ranger頁面