• 什么是大数据运维工程师


                  什么是大数据运维工程师

                                          作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

      

      业内有这么一句话说:云计算可能改变了整个传统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>.喜欢大数据生态圈

     

  • 相关阅读:
    MySQL日志
    MySQL备份与恢复
    MySQL创建数据表并建立主外键关系
    MySQL函数的使用
    MySQL存储过程
    MySQL变量的使用
    MySQL个人学习笔记
    SQL Server CLR 使用 C# 自定义存储过程和触发器
    SQL Server CLR 使用 C# 自定义函数
    LC 918. Maximum Sum Circular Subarray
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/10587721.html
Copyright © 2020-2023  润新知