众所周知,云计算改变了整个传统IT产业的基础架构,而大数据则改变了IT业务模式。那么在云计算大数据时代,传统的Linux系统运维应该怎么顺应技术的发展呢?今天我们就来聊一聊大数据运维工程师。
1.运维工程师都有哪些岗位
一图胜千言,针对运维工程师在公司都有哪些岗位,我们不妨看看下面这张图。
2.大数据运维的工作职责
【职责1】规划部署
01 根据业务规划和未来业务演进评估集群规模、存储规模、算力需求、技术选型等。
02 大数据生态组件高可用部署,安全合规保障。
03 开发人员使用集群方式规划、权限配置。
【职责2】故障排查
01 对产线环境产生的服务停止卡死、集群节点失败失联、主从切换、RPC性能问题进行排查并进行复盘。
02 对作业失败、作业卡死、数据误删除、数据丢失等问题进行排障并进行复盘。
【职责3】管理变更
01 根据监控的存储指标、资源指标、性能指标或业务调整进行集群的扩容上线、退役下线、数据均衡、数据清理。
02 根据需求变化进行权限修改、参数修改、集群访问方式修改。
03 变更方案编写、评审,变更流程梳理建设、变更记录留痕。
【职责4】集群调优
01 主机测参数调优、JVM参数调优、RPC性能调优。
02 资源队列资源调整、线程分配调整。
03 针对不同组件的运维场景与实践进行优化调整。
【职责5】监控告警
01 无运维不监控,建设监控体系、打通多样化告警方式。
02 了解大数据组件关键核心指标含义,监控服务可用性、存储状态、资源状态、性能瓶颈、操作安全。
03 深度监控,作业状态、小文件、冷数据、影响评估。
【职责6】体系建设
01 运维流程制度建设、运维文化建设。
02 运维人员成长晋升、成就感打造。
03 工具体系的建设,打造一站式运维平台。
3.大数据运维的必备技能
初级大数据运维所需要的能力
【技能1】运维基础
01 熟练Linux常用操作命令、排障命令,比如查看系统负载、CPU负载、IO负载、磁盘负载等。
02 熟悉Linux基本变更,比如用户操作、磁盘挂载、权限设置、用户资源设置等。
03 熟悉网络命令,查看网络流量、查看网络连接。
【技能2】脚本编写
01 熟悉shell脚本编程
02 熟悉python脚本编程
03 数据SQL编写
【技能3】大数据组件
01 熟悉常用大数据组件的体系结构、运行原理以及应用场景。
02 熟悉组件的运维场景,比如启动、停止、扩缩容、监控核心指标。
03 熟练使用大数据组件的常用运维命令。
高级大数据运维所需要的能力
【技能1】项目经验
01 工作起码要在3年以上,经历过2~3个中等以上规模大数据平台项目的运维。
02 运维过几个常用大数据组件,并采坑无数,经历过日夜奋战。
03 引起过产线故障,趟着公司的血,从战火里走出来。
【技能2】技能深入
01 对组件体系结构、运行机制有更深入的了解。
02 具有丰富的排查、调优经验,能够解决技术和业务中的复杂问题。
03 熟悉JVM,比如参数调整、垃圾回收、内存结构等。
04 有一定的源码阅读能力(不是必备)。
4.大数据运维的日常工作
大数据集群监控与调优
【IAAS】运维日常工作
1.巡检
01 巡检CPU使用情况
02 巡检内存使用情况
03 巡检IO使用情况
04巡检进程及端口使用情况
2.优化
01 句柄数、文件数、线程数优化
02 网络、内核、进程优化
03 SWAP优化
04 大页面优化
05 文件系统优化
3.排障
01 病毒入侵排障
02 磁盘存储警告排障
03 SWAP分区占用率过高排障
04 接口机内存或CPU负载过高排障
05 交换机板卡排障
06 ssh无法登录排障
07 接口机df结果明显过高排障
08 依据系统日志排障
【HDFS】运维日常工作
1.巡检
01 HDFS状态巡检
02 HDFS UI巡检
03 NameNode巡检
04 DataNode巡检
05 集群存储阈值巡检与处理
06 集群平均负载巡检
07 集群磁盘存储巡检
08 参数巡检
2.参数调优
01 NameNode数据目录调优
02 DataNode数据目录调优
03 数据块的副本数调优
04 数据块大小调优
05 HDFS集群带宽调优
06 磁盘可损坏数调优
07 数据传输连接数调优
08 NameNode处理RPC调用的线程数调优
09 NameNode处理DataNode上报数据块和心跳线程数调优
10 DataNode处理RPC调用的线程数调优
11 DataNode 相关参数调优
12 读写数据缓存调优
13 冗余数据块删除
14 新增块延迟汇报调优
15 文件描述符合网络连接上限调优
16HDFS集群重启优化
【YARN】运维日常工作
1.巡检
01 YARN集群状态巡检
02 YARN WEB UI运行状态巡检
03 YARN/MR关键性能指标巡检
2.参数调优
01 节点内存资源调优
02 节点虚拟CPU内核调优
03 Container分配内存调优
04 资源规整化因子调优
05 Container虚拟CPU内核调优
06 ApplicationMaster内存调优
07 ApplicationMaster堆栈调优
08 Map任务内存调优
09 Reduce任务内存调优
10 Map和Reduce堆栈内存调优
11 ResourceManager堆栈内存调优
12 NodeManager堆栈内存调优
13 Reduce任务前要完成的Map任务量调优
14 Hive核心参数调优
【HBase】运维日常工作
1.巡检
01 HBase集群状态巡检
02 HBase备用HMaster巡检
03 HBase集群IO巡检
04 HBase Region数量巡检
05 Software Attributes巡检
06 Dead RegionServer巡检
2.参数调优
01 Region参数调优
02 BlockCache参数调优
03 刷写磁盘参数调优
04 文件合并参评调优
05 HLog参数调优
06 Call Queue参数调优
07 其他核心参数调优
【Kafka】运维日常工作
1.巡检
01 Kafka集群状态巡检
02 Kafka集群流量巡检
03 Kafka分区分布巡检
2.参数调优
01 Broker参数调优
02 zookeeper参数调优
03 topic参数调优
04 线程参数调优
05 通讯参数调优
06 队列参数调优
07 其他核心参数调优
大数据集群认证与授权
01 HDFS集群安全管理
02 YARN集群安全管理
03 Hive客户端安全管理
04 HBase集群安全管理
05 Kafka集群安全管理
06 其他集群安全管理
大数据集群故障排查
【YARN】故障排查
01 资源问题故障排查
02 慢作业故障排查
03 GC故障排查
04 Hive执行任务内存不足故障排查
05 Job报错失败故障排查
06 NameNode RPC负载过高故障排查
07 Hive入库延迟故障排查
08 作业JVM内存崩溃故障排查
09 Spark丢失临时文件故障排查
【HDFS】故障排查
01 .meta文件损坏故障排查
02 多个DataNode节点存储不足故障排查
03 DataNode数据盘坏盘故障排查
04 DataNode数据盘存储超过阈值故障排查
05 坏块故障排查
06 DataNode宕机故障排查
07 HDFS目录被删除故障排查
08 NameNode长期出于安全模式故障排查
09 HDFS集群DataNode节点失联故障排查
【HBase】故障排查
01 HBase数据库堵塞故障排查
02 业务侧无法正常入库故障排查
03 RegionServer宕机故障排查
04 HBase故障报告撰写
大数据集群节点与资源规划
【规划1】大数据集群节点规划
01 HDFS集群节点规划
02 YARN集群节点规划
03 HBase集群节点规划
04 Kafka集群节点规划
05 Zookeeper集群节点规划
06 大数据集群厂商选择
【规划2】大数据集群资源规划
01 HDFS集群内存、CPU与磁盘规划
02 YARN集群内存、CPU与磁盘规划
03 HBase集群内存、CPU与磁盘规划
04 Kafka集群内存、CPU与磁盘规划
【规划3】大数据集群目录规划
01 管理节点的系统盘与数据盘规划
02 数据节点的数据盘规划
【规划4】大数据集群其他规划
01 Kafka topic与分区个数规划
02 HBase Rowkey、列簇、列、Region规划
03 Spark Executor个数以及分配的内存与CPU规划
备注:由于篇幅有限,大数据运维日常工作就不再一一列举。
5.大数据运维技能脑图
6.大数据运维适合哪些人学
很多同学经常问我,大数据运维适合我学习么?我今天给大家一个肯定的答案,有毅力、好学、积极向上的同学,都可以学会大数据运维。而且如果是传统运维转大数据运维会更有优势,因为干传统运维的同学有运维思维。
当你的技能无法让你获得职业优势时,你就应该静下心来学习;当你的能力无法支撑你的雄心时,你更应该沉下心来学习与历练。面对百年未有之大变局,唯有不断学习才能使自己具备竞争力,唯有不断学习才能驾驭自己的命运。