cloudera manager server遷移

1、遷移背景

  服務器出了問題,致使整個cm server界面呈現出不可用的狀態,也就是獲取不到各個大數據組件以及主機相關的狀態的信息,整個cm server的前端界面處於癱瘓的狀態,不可用,剛開始懷疑是存放元數據的mysql有問題,可是通過驗證,一點問題也沒有,後面發現登錄服務器很卡頓,可是發現cpu和內存都沒怎麼使用,查看/var/log/messages日誌,發現不少MCE錯誤,網上都說只有硬件有問題纔會出現這樣的錯誤,後來重啓機器,看看這樣還會不會繼續報錯,重啓電腦也不能解決問題,暫時斷定服務器硬件有問題:這樣的話影響到了不少的服務,主要有CM server,datanode,nodemanager,JournalNode等,因爲CM server和JournalNode很重要,因此考慮遷移到其餘的機器。html

/var/log/messages報錯信息以下:前端

Jan 31 17:13:13 lgh kernel: sbridge: HANDLING MCE MEMORY ERROR
Jan 31 17:13:13 lgh kernel: CPU 36: Machine Check Exception: 0 Bank 10: cc002003000800c1
Jan 31 17:13:13 lgh kernel: TSC 0 ADDR 1200417000 MISC 90000b00374068c PROCESSOR 0:406f1 TIME 1612084393 SOCKET 0 APIC 13
Jan 31 17:13:13 lgh kernel: [Hardware Error]: Machine check events logged
Jan 31 17:13:14 lgh kernel: EDAC MC1: CE row 0, channel 0, label "CPU_SrcID#0_Ha#0_Channel#0_DIMM": 128 Unknown error(s): memory scrubbing on FATAL area OVERFLOW: 
cpu=36 Err=0008:00c1 (ch=1), addr = 0x1200417000 => socket=0, ha=0, Channel=0(mask=1), rank=0 Jan 31 17:13:14 lgh kernel: Jan 31 19:37:31 lgh kernel: sbridge: HANDLING MCE MEMORY ERROR Jan 31 19:37:31 lgh kernel: CPU 39: Machine Check Exception: 0 Bank 10: cc002003000800c1 Jan 31 19:37:31 lgh kernel: TSC 0 ADDR 1200417000 MISC 90000b00374068c PROCESSOR 0:406f1 TIME 1612093051 SOCKET 0 APIC 19 Jan 31 19:37:31 lgh kernel: [Hardware Error]: Machine check events logged Jan 31 19:37:32 lgh kernel: EDAC MC1: CE row 0, channel 0, label "CPU_SrcID#0_Ha#0_Channel#0_DIMM": 128 Unknown error(s): memory scrubbing on FATAL area OVERFLOW:
cpu=39 Err=0008:00c1 (ch=1), addr = 0x1200417000 => socket=0, ha=0, Channel=0(mask=1), rank=0 Jan 31 19:37:32 lgh kernel:

  幾經查看,基本肯定是內存出現了問題,可是不徹底是故障,就是有隱患。node

2、遷移步驟

官方網址:https://docs.cloudera.com/documentation/enterprise/latest/topics/cm_ag_restore_server.htmlmysql

其實查看官方的遷移步驟很簡單,可是有些狀況不適合咱們的集羣,官方遷移的方式只適合只安裝了自帶組件的,若是經過jar包安裝了streamsets和spark2等,這些服務就會出現問題,因此須要作一些響應的處理,整個遷移的過程整理以下;sql

一、選擇一臺合適的機器安裝cloudera manager server服務,這裏咱們使用的是yum源的方式安裝,首先配置好yum源,而後使用以下命令安裝:數據庫

安裝官方網址:https://docs.cloudera.com/documentation/enterprise/latest/topics/install_cm_cdh.htmlbash

yum install –y cloudera-manager-daemons cloudera-manager-server

 

二、將原來的機器(原來的CM server主機)目錄/var/lib/cloudera-scm-server/下的全部文件複製到新的主機的相同的目錄下,並保持原有的權限服務器

scp –r root@source_ip:/var/lib/cloudera-scm-server/* /var/lib/cloudera-scm-server/
chown –R cloudera-scm: cloudera-scm /var/lib/cloudera-scm-server/

  

三、這一步是本身調整的,官網沒說很清楚,符合本身的集羣,由於咱們有streamsets和spark2服務,操做以下,在/opt/cloudera下有以下目錄:(這些都是在cm server的機器上)socket

 

 

因此要把這兩個目錄也複製到新cm server機器上的相同目錄下:大數據

scp -r root@source_ip:/opt/cloudera/csd /opt/cloudera
scp -r root@source_ip:/opt/cloudera/parcel-repo /opt/cloudera
#而後進行權限修改
chown -R cloudera-scm:cloudera-scm csd parcel-repo
chmod 644 csd/*

 

四、數據庫的配置(可選,若是原來數據庫沒問題,就跳過這一步,由於數據庫沒問題,因此這步是沒有操做的)

可參考安裝:https://docs.cloudera.com/documentation/enterprise/latest/topics/cm_ig_installing_configuring_dbs.html#cmig_topic_5

安裝完畢後,把原來的是數據庫備份還原到新的數據庫(這裏只說cm相關的元數據庫)

 

五、修改新機器cm server的配置/etc/cloudera-scm-server/db.properties,把裏面的數據庫的信息進行修改爲原來的數據庫或者是新安裝備份還原事後的數據庫。

 

六、修改原來全部cm agent機器的/etc/cloudera-scm-agent/config.ini配置,只要修改指向爲新的cm server機器就好。若是是新建的數據,而且沒有石油備份還原的方式,則還須要刪除/var/lib/cloudera-scm-agent/cm_guid,修改配置後,重啓agent

service cloudera-scm-agent restart


七、關停掉原先的cm server 

service cloudera-scm-server stop

  

八、啓動新的cm server 

service cloudera-scm-server start

  

九、從新安裝相關服務 

到這裏爲止cm server算是遷移完了,可是當本身登錄cm前端的時候,發現cm相關的全部服務仍是不可用,由於這些服務仍是安裝在原來有問題的機器上,好比Activity Monitor、Alert Publisher、Event Server、Host Monitor、Reports Manager、Service Monitor。因此整個cm前端頁面仍是癱瘓不可用的狀態。其實仔細想一想,這些個服務其實就是用來作監控,收集信息的一些服務,因此最終選擇的方案就是:

把這些服務從有問題的機器上進行刪除操做,而後再在新的機器上從新安裝這些全部的服務,而後啓動起來,就ok了。

相關文章
相關標籤/搜索