什么是大數據運維工程師


              什么是大數據運維工程師

                                      作者:尹正傑

版權聲明:原創作品,謝絕轉載!否則將追究法律責任。

 

 

  

  業內有這么一句話說:雲計算可能改變了整個傳統IT產業的基礎架構,而大數據處理,尤其像Hadoop組件這樣的技術出現,將是改變IT業務模式的一種技術。另外,很多小伙伴可能還搞不明白雲和Hadoop有什么關系,事實上這是兩種截然不同的技術。今天我們就來聊一聊大數據運維工程師。

 

一.Linux發展與學習線路 

 

 

二.大數據運維的工作職責

一.集群管理
    大數據需要分布式系統,也就是集群:Hadoop,Hbase,Spark,Kafka,Redis等大數據生態圈組建。

二.故障處理
    1>.商用硬件使用故障是常態。
    2>.區分故障等級,優先處理影響實時性業務的故障。

三.變更管理
    1>.以可控的方式,高效的完成變更工作;
    2>.包括配置管理和發布管理;

四.容量管理
    1>.存儲空間,允許鏈接數等都是容量概念;
    2>.在多租戶環境下,容量管理尤其重要;
五.性能調優
    1>.不同組建的性能概念不一樣,如kafka注重吞吐量,Hbase注重實用性可用性;
    2>.需要對組建有深刻的理解
六.架構優化
    1>.優化大數據平台架構,支持平台能力和產品的不斷迭代;
    2>.類似架構師的工作;

 

三.大數據運維所需的能力

一.DevOps
    DevOps(英文Development和Operations的組合)是一組過程,方法和系統的統稱,用於促進開發(應用程序/軟件工程),技術運營和質量保障(QA)部門之間的溝通,寫作與整合。
二.硬件,OS,網絡,安全的基礎知識
    大數據平台和組建設計范圍廣,各種都需要懂一點,這些知識出問題的時候不可能問人,因為別人也有自己的工作要做。

三.腳本語言能力
    Shell,SQL(DDL),Python.Java(加分)

四.大數據各個組件知識
    設計思想。使用范圍,底層架構,常用命令,常用配置或參數,常見問題處理方法。

五.工具能力
    Zabbix,Open Falcon,Ganglia,ELK等,企業自研工具。我推薦使用集群自帶的工具。

六.Trouble shooting能力
    搜索能力(搜索引擎,stackoverflow等),java能力(異常堆棧要看得懂,最好能看懂源碼),英文閱讀能力。

七.意識,流程
    良好的意識,什么能做什么不能做。同用的流程如ITIL,各企業也有自己的流程。

 

四.大數據運維的主要工作

一.運維三板斧
    三板斧可以解決90%以上的故障處理工作。
1>.重啟
    重啟有問題的機器或經常,使其正常工作。
2>.切換
    主備切換或主主切換,鏈接正常工作的節點。
3>.查殺
    查殺有問題的進程,鏈接等。
4>.三板斧的問題
    第一:只能處理故障處理問題,不能解決性能調優,架構優化等問題;
    第二:只能治標,不能治本;
5>..大數據運維和傳統運維的不同
    第一:傳統運維面對的底層軟硬件基本穩固,大數據運維面對的是商用硬件和復雜linux版本;
    第二:傳統運維面對的是單機架構為主,大數據運維面對復雜的分布式架構;
    第三:傳統運維大多維護閉源商業版系統,大數據運維通常面對開源系統,文檔手冊匱乏,對閱讀源碼要求高。
    第四:大數據運維對自動化工具的依賴大大增加;

二.Iaas層(基礎設置及服務)運維工作
    一般中大型企業有自己的基礎設施維護團隊,這部分工作不會交給大數據運維來做。小公司可能需要大數據運維鍵值這部分工作,主要關注三個方面:
1>.硬件
    大數據系統大多使用廉價PC Server或虛擬機,硬件故障是常態,通過告警,日志,維護命令等識別故障,並支持硬件更換。
2>.存儲
    大多使用PC Server掛本磁盤的存儲方式,極少情況會使用SAN(存儲區域網絡)或NAS(網絡附屬存儲),熟悉分區,格式化,巡檢等基本操作。
3>.網絡
    網絡的配置變更更需要比較專業的知識,如有需要可學習CCNA,CCNP等認證課程,但網絡硬件和配置出問題概率很低,主要關注丟包,延時。

三.HDFS運維工作
1>.容量管理
    第一:HDFS空間我使用超過80%要警惕,如果是多租戶環境,租戶的配額空間也能用完;
    第二:熟悉hdfs,fsck,distcp等常用命令,會使用DataNode均衡器;

2>.進程管理
    第一:NameNode的進程是重點
    第二:熟悉dfsadmin等Ingles。怎么做NameNode高可用。
3>.故障管理
    Hadoop最常見的故障就是硬盤損壞。
4>.配置管理
    hdfs-site.xml中的參數設置。

四.MapReduce運維工作
1>.進程管理
    第一:jobtracker進程故障概率比較低,有問題可以通過重啟解決;
    第二:了解一下HA的做法;
2>.配置管理
    mapred-site.xml中的參數設置。

五.Yarn運維工作
1>.故障管理
    主要是當任務異常這中止時看日志排查,通茶故障原因會集中在資源問題,權限問題中的一種。
2>.進程管理
    ResourceManager主要是學會配置HA
    NodeManager進程掛掉不重要,重啟即可。
3>.配置管理
    yarn-site.xml中的參數設置,主要分三塊配置,scheduler的,ResourceManager的,NodeManager的。

六.Hive/Impala運維工作
1>.SQL問題排查
    第一:結果不對,主要原因可能是SQL錯誤,數據不存在,UDF錯誤等,需要靠經驗排查
    第二:慢SQL,這類問題開發經常會找運維排查,有可能是劣勢SQL,數據量大,也有可能是集群資源緊張;
2>.元數據管理
    Hive和Impala公用的元數據,存在關系型數據庫中。
七.其它組件
    根據組件用途,特性,關注點的不用,運維工作也各不相同,如:
1>.HBase關注讀寫性能,服務的可用性
2>.Kafka關注吞吐量,負載均衡,消息不丟機制
3>.Flume關注屯度量,故障后的快速恢復

 

五.大數據運維技能概覽

 

 

 

六.大數據運維職業素養

1>.人品
2>.嚴謹
3>.細心
4>.心態
5>.熟悉操作系統
6>.熟悉業務(開發)
7>.熟悉行業
8>.喜歡大數據生態圈

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM