操作場景
該操作指導安裝工程師安裝MRS集群所有服務(不包含Flume)的客戶端。MRS針對不同服務提供了Shell腳本,供開發維護人員在不同場景下登錄其對應的服務維護客戶端完成對應的維護任務。
說明通過Manager界面修改服務端配置或系統升級后,建議重新安裝客戶端,否則客戶端與服務端版本將不一致。
前提條件
- 安裝目錄可以不存在,會自動創建。但如果存在,則必須為空。目錄路徑不能包含空格。
- 客戶端節點為集群外部服務器時,必須能夠與集群業務平面網絡互通,否則安裝會失敗。
- 客戶端必須啟用NTP服務,并保持與服務端時間一致,否則安裝會失敗。
- 對于下載所有組件客戶端的情況,HDFS與Mapreduce是合一目錄(“ 客戶端目錄 /HDFS/”)。
- 安裝和使用客戶端可以使用任意用戶進行操作,用戶名和密碼請從管理員處獲取,本章節以“user_client”進行舉例。要求“user_client”用戶為服務器文件目錄(如“/opt/Bigdata/client”)和客戶端安裝目錄(如“/opt/Bigdata/hadoopclient”)的“owner”,兩個目錄的權限為“755”。
- 使用客戶端需要已從管理員處獲取“組件業務用戶”(默認用戶或新增用戶)和“密碼”。
- 使用omm和root以外的用戶安裝客戶端時,若“/var/tmp/patch”目錄已存在,需將此目錄權限修改為“777”,將此目錄內的日志權限修改為“666”。
操作步驟
- 獲取軟件包。
登錄FusionInsight Manager,具體請參考訪問FusionInsight Manager(MRS 3.x及之后版本),在“集群”下拉列表中單擊需要操作的集群名稱。
選擇“更多 > 下載客戶端”,彈出“下載集群客戶端”信息提示框。
詳見下圖:下載客戶端



說明
在只安裝單個服務的客戶端的場景中,選擇“集群 > 待操作集群的名稱 > 服務 > 服務名稱 > 更多 > 下載客戶端”,彈出“下載客戶端”信息提示框。
- 選擇客戶端類型”中選擇“完整客戶端”。
“僅配置文件”下載的客戶端配置文件,適用于應用開發任務中,完整客戶端已下載并安裝后,管理員通過Manager界面修改了服務端配置,開發人員需要更新客戶端配置文件的場景。
平臺類型包括x86_64和aarch64兩種:
- x86_64:可以部署在x86平臺的客戶端軟件包。
- aarch64:可以部署在TaiShan服務器的客戶端軟件包。
說明集群支持下載x86_64和aarch64兩種類型客戶端,但是客戶端類型必須和待安裝節點的架構匹配,否則客戶端會安裝失敗。
- 是否在集群的節點中生成客戶端文件?
- 是,勾選“僅保存到如下路徑”,單擊“確定”開始生成客戶端文件,文件生成后默認保存在主管理節點“/tmp/FusionInsight-Client”。支持自定義其他目錄且omm用戶擁有目錄的讀、寫與執行權限。單擊“確定”,等待下載完成后,使用omm用戶或root用戶將獲取的軟件包復制到將要安裝客戶端的服務器文件目錄,例如“/opt/Bigdata/client”。然后執行步驟5。
說明當用戶無法獲取root用戶權限,需要用omm用戶操作。
否,單擊“確定”指定本地的保存位置,開始下載完整客戶端,等待下載完成,執行步驟4。
- 上傳軟件包。
使用WinSCP工具,以準備安裝客戶端的用戶(如“user_client”),將獲取的軟件包上傳到將要安裝客戶端的服務器文件目錄,例如“/opt/Bigdata/client”。
客戶端軟件包名稱格式為:“FusionInsight_Cluster_< 集群ID> _Services_Client.tar”。
后續步驟及章節以FusionInsight_Cluster_1_Services_Client.tar進行舉例。
說明客戶端所在主機可以是集群內節點,也可以是集群外節點。當該節點為集群外部服務器時,必須能夠與集群網絡互通,并啟用NTP服務以保持與服務端時間一致。
例如可以為外部服務器配置與集群一樣的NTP時鐘源,配置之后可以執行ntpq -np命令檢查時間是否同步。
- 如果顯示結果的NTP時鐘源IP地址前有“*”號,表示同步正常,如下:
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.10.10.162 .LOCL. 1 u 1 16 377 0.270 -1.562 0.014
- 如果顯示結果的NTP時鐘源IP前無“*”號,且“refid”項內容為“.INIT.”,或者回顯異常,表示同步不正常,請聯系技術支持。
remote refid st t when poll reach delay offset jitter
==============================================================================
10.10.10.162 .INIT. 1 u 1 16 377 0.270 -1.562 0.014
也可以為外部服務器配置與集群一樣的chrony時鐘源,配置之后可以執行chronyc sources命令檢查時間是否同步。
- 如果顯示結果的主OMS節點chrony服務IP地址前有“*”號,表示同步正常,如下:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^10.10.10.162 10 10 377 626 +16us[ +15us] +/- 308us
- 如果顯示結果的主OMS節點NTP服務IP前無“*”號,且“ Reach ”項內容為“0”,表示同步不正常。
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 10.1.1.1 0 10 0 - +0ns[ +0ns] +/- 0ns
- 以user_client用戶登錄將要安裝客戶端的服務器。
- 解壓軟件包。
進入安裝包所在目錄,例如“/opt/Bigdata/client”。執行如下命令解壓安裝包到本地目錄。
tar -xvf FusionInsight_Cluster_1_Services_Client.tar
- 校驗軟件包。
執行sha256sum命令校驗解壓得到的文件,檢查回顯信息與sha256文件里面的內容是否一致,例如:
sha256sum -c FusionInsight_Cluster_1_Services_ClientConfig.tar.sha256
FusionInsight_Cluster_1_Services_ClientConfig.tar: OK
- 解壓獲取的安裝文件。
tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar
- 配置客戶端網絡連接。
a.確保客戶端所在主機能與解壓目錄下“hosts”文件(例如“/opt/Bigdata/client/FusionInsight_Cluster_<集群ID> _Services_ClientConfig/hosts”)中所列出的各主機在網絡上互通。
b.當客戶端所在主機不是集群中的節點時,需要在客戶端所在節點的“/etc/hosts”文件(更改此文件需要root用戶權限)中設置集群所有節點主機名和業務平面IP地址映射,主機名和IP地址請保持一一對應,可執行以下步驟在hosts文件中導入集群的域名映射關系。
切換至root用戶或者其他具有修改hosts文件權限的用戶。
su - root
進入客戶端解壓目錄。
cd /opt/Bigdata/client/FusionInsight_Cluster_1_Services_ClientConfig
執行 cat realm.ini >>/etc/hosts ,將域名映射關系導入到hosts文件中。
說明
當客戶端所在主機不是集群中的節點時,配置客戶端網絡連接,可避免執行客戶端命令時出現錯誤。
如果采用yarn-client模式運行Spark任務,請在“ 客戶端安裝目錄 /Spark/spark/conf/spark-defaults.conf”文件中添加參數“spark.driver.host”,并將參數值設置為客戶端的IP地址。
當采用yarn-client模式時,為了Spark WebUI能夠正常顯示,需要在Yarn的主備節點(即集群中的ResourceManager節點)的hosts文件中,配置客戶端的IP地址及主機名對應關系。
- 進入安裝包所在目錄,執行如下命令安裝客戶端到指定目錄(絕對路徑),例如安裝到“/opt/hadoopclient”目錄。
cd /opt/Bigdata/client/FusionInsight_Cluster_1_Services_ClientConfig
執行./install.sh /opt/hadoopclient命令,等待客戶端安裝完成(以下只顯示部分屏顯結果)。
The component client is installed successfully
說明
如果已經安裝的全部服務或某個服務的客戶端使用了“/opt/hadoopclient”目錄,再安裝其他服務的客戶端時,需要使用不同的目錄。
卸載客戶端請刪除客戶端安裝目錄。
如果要求安裝后的客戶端僅能被該安裝用戶(如“user_client”)使用,請在安裝時加“-o”參數,即執行./install.sh /opt/hadoopclient -o命令安裝客戶端。
如果安裝NTP服務器為chrony模式,請在安裝時加“chrony”參數,即執行./install.sh
/opt/hadoopclient -ochrony命令安裝客戶端。由于HBase使用的Ruby語法限制,如果安裝的客戶端中包含了HBase客戶端,建議客戶端安裝目錄路徑只包含大寫字母、小寫字母、數字以及_-?.@+=字符。
客戶端節點為集群外部服務器且此節點無法與主oms節點的業務平面IP互通時或者無法訪問主節點的20029端口時,客戶端可以正常安裝成功,但無法注冊到集群中,無法在界面上進行展示。
a.執行cd /opt/hadoopclient命令進入客戶端安裝目錄。
b.執行source bigdata_env命令配置客戶端環境變量。
c.如果集群為安全模式,執行以下命令,設置kinit認證,輸入客戶端用戶登錄密碼;普通模式集群無需執行用戶認證。
kinit admin
Password for admin@HADOOP.COM: #輸入admin用戶登錄密碼(與登錄集群的用戶密碼一致)
d.輸入klist命令查詢并確認權限內容。
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@HADOOP.COM
Valid starting Expires Service principal
04/09/2021 18:22:35 04/10/2021 18:22:29 krbtgt/HADOOP.COM@HADOOP.COM
說明
使用kinit認證時,票據默認會存放到“/tmp/krb5cc_ uid ”目錄中。
uid表示當前登錄操作系統的用戶id,例如root用戶的uid為0,那么root用戶登錄系統后使用kinit認證的票據會默認存放在“/tmp/krb5cc_0”。
若當前用戶對于“/tmp”目錄沒有讀寫權限,則會將票據緩存路徑修改為“客戶端安裝目錄/tmp/krb5cc_uid”,例如客戶端安裝目錄為“/opt/hadoopclient”,則kinit認證的票據會存放在“/opt/hadoopclient/tmp/krb5cc_uid”。
使用kinit認證時,如果使用相同的用戶登錄操作系統,則存在票據相互覆蓋的風險。可使用-c cache_name參數指定票據緩存位置,或者通過設置KRB5CCNAME環境變量避免該問題。
- 集群重裝后,之前安裝的客戶端將不再可用,需要重新部署客戶端。
a.以root用戶登錄客戶端所在節點。
b.使用以下命令查看客戶端所在目錄(下例中“/opt/hadoopclient”為客戶端所在目錄)。
ll /opt
drwxr-x---. 6 root root 4096 Dec 11 19:00 hadoopclient
drwxr-xr-x. 3 root root 4096 Dec 9 02:04 godi
drwx------. 2 root root 16384 Nov 6 01:03 lost+found
drwxr-xr-x. 2 root root 4096 Nov 7 09:49 rh
c.使用mv命令移除所有客戶端程序所在文件夾內的文件(例如移除“/opt/hadoopclient”文件夾)。
mv /opt/hadoopclient /tmp/clientbackup
d.重新安裝客戶端。
如果已經安裝的全部服務或某個服務的客戶端使用了“/opt/hadoopclient”目錄,再安裝其他服務的客戶端時,需要使用不同的目錄。