大数据运维问题整理
1、负责公司大数据平台的部署、管理、优化、监控报警,保障平台服务7*24稳定可靠高效运行;
2、深入理解公司大数据平台架构,发现并解决性能瓶颈,支撑业务和数据量的快速增长;
3、开发大数据自动化运维、监控报警、故障处理相关脚本和工具;
4、负责Hadoop/spark/kafka等集群服务、业务监控、持续交付、应急响应、容量规划等。
大数据生态圈部署实战(最好是自动化的部署):这块是我们已经学习的这么多的大数据组件
尝试通过shell脚本实现所有组件的自动化安装和配置
提升步骤:其中一个组件的安装+配置的shell脚本--->增加一两个组件同时安装+配置---->加上遇到过的问题的测试和解决脚本--->最终一整套的自动化
1、面试中问到的问题
1、kafka相关(*****),kafka监控指标
2、mysql主从复制
3、大数据集群迁移
4、hadoop集群数据备份
Hbase备份可以分为在线备份和离线备份
5、hadoop底层原理
hdfs采用master/slave架构。一个Hdfs集群是有一个namenode和一定数目的datanode组成。namenode是一个中心服务器,负责管理文件系统的namespace和客户端对文件的访问。Datanode在集群中一般是一个节点一个,负责管理节点上它们附带的存储。在内部,一个文件分成一个或多个block,这些block存储在datanode集合例。namenode执行文件系统的namespace操作,例如打开、关闭、重命名文件和目录,同时决定block到具体datanode节点的映射。datanode在namenode的指挥下进行block的创建、删除和复制。namenode和datanode都是设计成可以跑在普通的廉价的linux的机器上。hdfs采用java语言开发,因此可以部署到很大范围的机器上,一个典型的部署场景是一台机器跑一个单独的namenode节点,集群中的其他机器跑一个datanode实例。这个架构并不排除一台机器上跑多个datanode,不过这比较少见。namenode是所有hdfs元数据的仲裁者和管理者,这样,用户数据永远不会流过namenode。
hdfs架构原理
1、文件些人时候:
客户端向namenode发起文件的写入,namenode根据文件大小和文件块配置情况,返回给client它所管理部分datanode的信息。client将文件划分为多个block块,并根据datanode的地址信息,按顺序插入到datanode块中。
2、当文件读取:
client向namenode发起文件读取的请求。namenode返回文件存储的block块/、及其block块所在Datanode的信息。clinet读取文件信息。
namenode:
1、管理着文件系统命名空间,维护着文件系统树,跟文件目录数。
2、存储元数据,
文件名目录名及它们之间的层级关系
文件目录的所有者及其权限
每个文件块的名及文件有哪些块组成
3、元数据保存在内存中
4、保存文件,block,datanode之间的映射关系
secondnamenode是做周期性的检查
datanode:负责存储数据块,负责为系统客户端提供数据块的读写服务
根据namenode的指示进行创建、删除和复制等操作
心跳机制,定期报告文件块列表信息
datanode之间进行通信,快的副本处理
6、spark日常遇到的问题
spark原理:
driver process 通过resource manager 申请资源,resource manager跟excutor progress分配资源,excutor process 期中有60%的spark.storage.memoryFracion,有20%spark.shuffle.memoryFraction,剩余的20%分配给task;
7、hadoop日常组件的监控
答:目前采用的方案zabbix+hue+kafka manager
zabbix主要监控相关进程是否存活以及针对运行时间过长的任务进行报警,目前暂定为1个小时,主要是通过hadoop提供的jmx接口获取相关数据给zabbix
监控的项目:
1、监控rescoremanager、namenode、datanode、nodemanager
2、监控节点数目,如果数目为0报警
3、hadoop正在执行任务超过60分钟任务个数。
Hue:
hue是cloudera开源的一套针对hadoop及相关组件的可视化及监控工具
目前可以对:hdfs+mapreduce+hive+hbase+zookeeper+ooize+spark进行监控
目前监控的数据:
hdfs中的数据
mapreduce相关任务的情况
hbase中的数据
zookeeper的运行情况
kafka manager:
主要用于监控kafka集群运行情况及各个topic的详细参数