閱讀349 返回首頁    go 小米 go 小米MIX


SSH 登錄集群__用戶指南_E-MapReduce-阿裏雲

登錄集群內部的用途

若您覺得在網頁上的作業和執行計劃無法滿足您更加複雜的應用需求,您可以登錄到 E-MapReduce 集群的主機上,找到集群的詳情頁,其中就有集群 master 機器的公網 IP 地址,您可以直接 SSH 登錄到這台機器上,查看各種設置與狀態。

機器上已為您設置好相關的環境變量,其中包括以下常用的環境變量:

  • JAVA_HOME

  • HADOOP_HOME

  • HADOOP_CONF_DIR

  • HADOOP_LOG_DIR

  • YARN_LOG_DIR

  • HIVE_HOME

  • HIVE_CONF_DIR

  • PIG_HOME

  • PIG_CONF_DIR

您可以在腳本中直接引用這些變量,但請不要去修改這些變量的值,以免造成 E-MapReduce 的意外錯誤。

登錄 master 主機步驟

  1. 使用如下命令 SSH 登錄到 master 主機。請在集群詳情頁的硬件信息欄中獲取集群 master 機器的公網 IP。

    1. ssh root@ip.of.master
  2. 輸入創建時設定的密碼。

打通本地機器與集群 master 機器的 SSH 無密碼登錄

通常,您需要登錄到集群上進行一些管理和操作。為便於登錄集群 master 機器,您可打通與 master 機器的 SSH 無密碼登錄(集群 master 機器默認開通了公網 IP)。操作步驟如下:

  1. 通過上麵提到的 root + 密碼的方式登錄到 master 主機。

  2. 切換到到Hadoop 用戶或者 hdfs 用戶。su hadoop

Linux 的 SSH 方式

  1. 複製私鑰到本地。

    1. sz ~/.ssh/id_rsa
  2. 回到您的本地機器,嚐試重新登錄 master 機器。

    1. ssh -i 私鑰存放路徑/id_rsa hadoop@120.26.221.130

    當然如果你隻有這一個私鑰,也可以直接放到你的 ~/.ssh/ 下,默認使用這個私鑰,就不需要 -i 指定了。

Windows 的 SSH 方式

在 Windows 下你可以有多種方式來使用 SSH 免密碼登錄 master 機器。

方式一:使用 PuTTY

  1. 點擊下載 PuTTY

  2. 在同樣的位置下載 PuTTYgen。

  3. 打開 PuTTYgen,並 Load 您的私鑰。

    注意:請妥善保管這個私鑰,保證該私鑰的安全。若私鑰不幸泄漏了,請立刻重新生成一個新的取代。

  4. 使用默認的配置,並 Save private key。會保存出一個後綴為 ppk 的 PuTTY 使用的密鑰文件。

  5. 運行 PuTTY,並在配置頁麵選擇 Session。

  6. 輸入您要連接的目標機器公網 IP 地址,要加上登錄使用的用戶名,類似 hadoop@MasterNodeIP。

  7. 在配置頁麵選擇 Connetion 並展開 > 選擇 SSH 並展開 > 選擇 Auth。

  8. 選擇之前生成好的 ppk 文件。

  9. 最後單擊 Open,就會自動登錄到 master 節點了。

方式二:使用 Cygwin | MinGW

這是在 Windows 上模擬 Linux 的非常方便的工具,使用起來也非常簡單。

如果采用這種方式,連接過程就可以參考上麵的 Linux 的 SSH 方式了。

推薦采用 MinGW 的方式,這個是最小巧的一種方式。如果官網打不開,可以下載 git 的客戶端,默認帶的 Git Bash 就可以滿足。

查看 Hadoop、Spark、Ganglia 等係統的 webui

注意:在進行本步驟前,請確認您已經完成了上麵的 SSH 無密碼登錄流程。

由於安全的緣故,E-MapReduce 集群的 Hadoop、Spark 和 Ganglia 等係統的 webui 監控係統的端口都沒有對外開放。如果用戶想要訪問這些 webui,需要建立一個 SSH 隧道,通過端口轉發的方式來達到目的。有如下兩種方式:

注意:下麵的操作是在您本地機器上完成的,不是集群內部機器。

方式一:端口動態轉發

創建一個 SSH 隧道,該隧道可打通您本地機器跟 E-MapReduce 集群的 master 機器的某個動態端口的連接。

  1. ssh -i /path/id_xxx -ND 8157 hadoop@masterNodeIP

8157 是您本地機器沒有被使用過的任何一個端口,用戶可以自定定義。

完成動態轉發以後,您可以選擇如下兩種方式來查看。

  • 推薦方式

    推薦使用 Chrome 瀏覽器,可以使用如下的方式來訪問 Web UI:

    1. chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmppath/

    若是 Windows 係統,這裏的 tmppath 可以寫成類似 d:/tmppath;若是 Linux 或者 OSX,可以直接寫成 /tmp/。

    在不同的操作係統中,Chrome 的位置不同,請參見下表:

操作係統 Chrome 位置
Mac OS X /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Linux /usr/bin/google-chrome
Windows C:Program Files (x86)GoogleChromeApplicationchrome.exe
  • 插件方式

    此時,您本地機器跟 E-MapReduce 集群的 master 主機的 SSH 通道已經打通,要在瀏覽器中查看 Hadoop、Spark、Ganglia 的 webui,您還需要配置一個本地代理。操作步驟如下:

    1. 假設您使用的是 Chrome 或者 Firefox 瀏覽器,請點擊下載 FoxyProxy Standard 代理軟件

    2. 安裝完成並重啟瀏覽器後,打開一個文本編輯器,編輯如下內容:

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <foxyproxy>
      3. <proxies>
      4. <proxy name="aliyun-emr-socks-proxy" id="2322596116" notes="" fromSubscription="false" enabled="true" mode="manual" selectedTabIndex="2" lastresort="false" animatedIcons="true" includeInCycle="true" color="#0055E5" proxyDNS="true" noInternalIPs="false" autoconfMode="pac" clearCacheBeforeUse="false" disableCache="false" clearCookiesBeforeUse="false" rejectCookies="false">
      5. <matches>
      6. <match enabled="true" name="120.*" pattern="https://120.*" isRegEx="false" isBlackList="false" isMultiLine="false" caseSensitive="false" fromSubscription="false" ></match>
      7. </matches>
      8. <manualconf host="localhost" port="8157" socksversion="5" isSocks="true" username="" password="" domain="" ></manualconf>
      9. </proxy>
      10. </proxies>
      11. </foxyproxy>

      其中:

      • Port 8157 是您本地用來建立與集群 master 機器 SSH 連接的端口,這個需要跟您之前執行的在終端中執行的 SSH 命令中使用的端口匹配。

      • 120.* 這個匹配是用來匹配 master 主機的 IP 地址,請根據 master 的 IP 地址的情況來定。

    3. 在瀏覽器中點擊 Foxyproxy 按鈕,選擇 Options。

    4. 選擇 Import/Export。

    5. 選擇剛才您編輯的 xml 文件,點擊 Open。

    6. 在 Import FoxyProxy Setting 對話框中,點擊 Add。

    7. 點擊瀏覽器中的 Foxyproxy 按鈕,選擇“Use Proxy aliyun-emr-socks-proxy for all URLs”。

    8. 在瀏覽器中輸入 localhost:8088,就可以打開遠端的 Hadoop 界麵了。

方式二:本地端口轉發

注意:這個方式的缺陷是隻能看到最外層的界麵,一旦要看詳細的作業信息,就會出錯。

  1. ssh -i /path/id_rsa -N -L 8157:masterNodeIP:8088 hadoop@masterNodeIP

參數說明:

  • path:私鑰存放路徑。

  • masterNodeIP:要連接的 master節點 IP。

  • 8088:是 master 節點上 ResourceManager 的訪問端口號。

最後更新:2016-11-23 16:03:59

  上一篇:go OSS 數據權限隔離__用戶指南_E-MapReduce-阿裏雲
  下一篇:go MetaService__用戶指南_E-MapReduce-阿裏雲