ope电竞投注_ope体育首页_ope体育赞助西甲
ope电竞投注

武汉天气,恋空-ope电竞投注_ope体育首页_ope体育赞助西甲

admin admin ⋅ 2019-11-19 17:25:14

作者介绍

小火牛,项目办理高级工程师,具有多年大数据渠道运维办理及开发优化经历。办理过多个上千节点集群,拿手对外多租户渠道的保护开发。信科院大数据功用测验、功用测验主力,大厂PK取得双项榜首。

我信任每一个集群办理员,在长时刻办理多个不同体量及运用场景的集群后,都会多少发作心情。其实这在我看来,是一个很奇妙的事,即咱们也现已开端人性化的看待每一个集群了。

已然魔王库鲁尔是人性化的办理集群,我总是会考虑几个方向的问题:

  • 集群的特别之处在哪儿?

  • 集群常常生什么病?

  • 关于集群发作的突发疾病怎么精准地做到靶向定位?

  • 应急处理毛病之后怎么防止旧除新添?


在长时刻大规划集群办理实践进程中,也针对各个集群的各种疑难杂症构成了自己的西药(trouble shoot武汉气候,恋空-ope电竞投注_ope体育主页_ope体育资助西甲ing)丶中药(Returning for analysis)丶健身防备(On a regular basis to optimize)的手法及产品。

下面经过自我的三个魂灵拷问来共享一下自己关于大规划集群办理的经历及总结。

魂灵拷问1

集群量大,到底有啥特色?

集群数量多,规划大:办理着巨细将近20个集群,最大的xxx集群和xx集群抵达1000+节点的规划。

魂灵拷问2

平常集群简略生什么病,都有哪些危险呢?

集群在全体功用性,安稳性,资源的运用等大的方面都会有一些痛点问题。

常见的文件数过多丶小文件过多丶RPC行列深度过高,到各个组件的版别bug,运用组件时发作严峻出产毛病,以及资源糟蹋等都是集群办理的常见问题。

魂灵拷问3

关于集群的突发疾病怎么精准地处理毛病?

关于集群突发的毛病,渠道应具有全面及时的武汉气候,恋空-ope电竞投注_ope体育主页_ope体育资助西甲监控告警,做到分钟级发现告警毛病,推送告警告诉,这是快速处理毛病的条件保证。

关于集群的缓慢疾病,应该林睿禹从底层搜集可用的详细数据,剖析陈述加以运用,经过长时刻的办理来有用的保证集群的深层次健康(详细请阅览《运维老司机都想要把握的大数据渠道监控技巧》),并开发构成能实实在在落地企业的数据财物办理丶数据办理产品。

下面将针对上面的9个集群问题或毛病逐个回答怎么处理。

1、底层核算引擎老旧,事务加工占用许多资源且反常缓慢。

集群底层运用MR核算引擎,许多使命未进合理优化,大多数使命占用上千core,上百TB内存,且对集群构成了许多的IO读写压力。

处理手法:经过监控“拎大头”,找出耗费资源巨大的使命,经过事务,核算引擎,参数调优来优化集群资源运用,进步集群算力。

事务优化:从事务视点清晰来历数据,削减加载数据量。

核算引擎优化 :MR转Spark。

参数调优:小文件兼并优化,内存内核调优,并发量调优,防止数据歪斜。

2、xx集武汉气候,恋空-ope电竞投注_ope体育主页_ope体育资助西甲群RPC毛病问题。

现象概述:XX产线集群提交作业履行慢; 事务数据加工逻辑为读取HDFS新增文件>>>入库HBase; 遍历列表文件周期为5s。

根因剖析:

处理计划:

阅览RPC源码:动态署理机制+NIO通信模型。

调整NN RPC要害参数,做比照试验。

1)优化体系参数装备:

ipc.server.handler.queue.size;

dfs.namenode武汉气候,恋空-ope电竞投注_ope体育主页_ope体育资助西甲.service.handler.count

2)将HDFS千万级目录扫描周期从5s调整为5分钟

3)添加集群RPC恳求分时段分事务模型深度监控

3、xx集群由于承载对外多租户,面临各个租户提出的集群出产环境的需求都不共同,构成集群环境复杂化,yarn资源打满,而且简略呈现负载过高的接口机,加剧运维本钱。

处理手法:

集群环境多版别及异构办理:

装备多版别Python环境,并建立私有第三方库。

装备多版别Spark,Kafka环境。

实时监控yarn行列资源运用,监控yarn运用使命,要点优化。

装备明细接口机监控,优化接口机负载。

接口机从根底目标,top剖析,CPU内存耗费过大的进程多维度监控,及时的合理调整优化接口机的调度使命,下降接口机武汉气候,恋空-ope电竞投注_ope体育主页_ope体育资助西甲负载。

4、xxx集群由于文件数过多,导致集群运转缓慢,NameNode进程掉线。

集群的文件目标抵达九千多万。且集群的读写IO是写多读少。NameNode发动需求加载许多的块信息,发动耗时过长。

处理手法:

核算引擎优化 :尽量运用S起点大神的纲要模板park,有用率运用内存资源,削减磁盘IO读写。

周期性整理:依据HDFS事务目录存储增量,定时和谐事务人员整理相关无用事务数据。

块巨细办理:小文件做兼并,添加block巨细为1GB,削减小文件块数量。

深度整理:收集监控auit日志做HDFS文件体系的多维画像。深化整理无用数据表,空文件,废文件。

5、HDFS数据目录权限办理混乱,常常构成数据误删或丢掉。

由于下放的权限没有及时收回,或许一些误操作构成了数据的误删和丢掉。

处理办法:

事务区分:清晰整理各个事务对应权限用户,整改当时HDFS数据目录结构,出产测验库别离操控。

数据生命周期办理:

6、yarnJOB构成节点负载过高影响了其他job运转。

某些节点CPU负载很高影响了job使命的运转,发现有些节点的负载从9:30到现在一向很高,导致job使命履行了大约7个小时。

处理办法:

找到耗时task履行的节点,的确发现负载很高,并找到了此使命对应的进程。

查看此进程的仓库信息,发现F准备唱蚂蚁ull GC次数许多,时长很长大约6个小时,一再的Full GC会使CPU运用率过高。

查看job进程概况发现,java heap内存只要820M,task处理的田海蓉老公徐明记载数为7400多万,构成堆内存不足一再动身Full GC。

引荐下次履行使命时设置咖客影院如下参数巨细:

hive> set mapreduce.map.memory.mb=4096;
hive> set mapreduce.map.java.opts=-Xmx3686m;

7、NameNode切换后部分Hive表无法查询。

小集群NameNode发作切换,并呈现Hive某库下的表和其有相关的表无法运用的状况报错如下:

截图报错,标明当时NameNode节点为stanby节点。经过排查发现,Hive的Metadata中有些partition列的特点还午夜福利社电影保存之前装备的NameNode location。

处理办法:

  • 备份Hive地点的MySQL元数据库 # mysqldump -uRoot -pPassword h大正小小先生ive > hivedump.sql;

  • 进入Hive地点的MySQL数据库履行,修正Hive库下SDS表下的location信息,触及条数9739行。把指定IP的location替换成name魔王库鲁尔service ;


    UPDATE SDS SET LOCATION = REPLACE(LOCATION, 'hdfs://ip:8020', 'hdfs://nameservice1') where LOCATION like 'hdfs://ip%';

  • 切换NameNode验证所影响Hive表是否可用;

  • 事务全方面验证 ;

  • 改变影响规模:本次改变能够在线进行施行,避开事务繁忙段,对事务无影响;

  • 回退计划:从备份的mysqldump文件中康复mysql hive元数据库 mysql -uUsername -pPassword hive < hivedump.sq。


8、Spark使命运转缓慢,且常常履行报错。

产线集群提交作业履行报错,单个Task履行耗时超越2h: ERROR server.TransportChannelHandler: Connection to ip:4376 has been quiet for 120000 ms while there are outstanding requests. Assuming connection is dead; please adjust spark.network.timeout if this is wrong.

根因剖析:

报错表象为shuffle阶段拉取数据操作衔接超时。默许超时时刻为120s。

深化了解Spark源码:在shuffle阶段会有read 和 write操作。

首要依据shuffle可运用内存对每一个ta捕获白金鱼sk进行chcksum,校验task处理数据量是否超出shuffle buffer 内存上限。该进程并不是做全量chcksum,而是选用抽样的办法进行校验。

其原理是抽取task TID ,与shuffle内存校验,小于shuffle内存上限,则该区间的task都会获取 task data 遍历器进行数据遍历load本地,即HDFS Spark中心进程目录。

这样会导致一些数据量过大的task成为漏网之鱼,正常来说,数据量过大,假如被校验器采样到,会直接报OOM,实际状况是大数据量task没有被检测到,超出buffer过多,导致load时,一部分数据在内存中获取不到,从而导致衔接超时的报错假象。

处理计划:

1)调优参数装备:

spark.shuffle.manager(sort),spark.shuffle.consolidateFiles (true),spark.network.timeout(600s)。报错处理,运转耗时缩短一小时。

2)excutor分配内存从16g降为6g。内存占用节约三分之二,运转耗时添加一小时。

9、某HBase集群无法PUT入库问题处理。

集群状况介绍:HDFS总存储 20+PB,已运用 75+%,共 600+ 个 DN 节点,大部分数据为 2 副本(该集群经历过 屡次扩容,扩容前由于存储严重被逼降副本为 2),数据散布根本均衡。集群上只承载了HBase数据库。

毛病描绘:因集群部分 DN 节点存储运用率十分高(超越 95%),所以采取了下线主机然后再康复 集群中这种办法来减轻某些 DN 存储压力。

且集群大部分数据为 2 副本,所以在这个进程 中呈现了老婆图片丢块现象。经过 fsck 看到现已完全 miss,副本数为 0。

因而,在重启 HBase 进程中,部分 region 因 为 block 的丢掉而无法翻开,构成了 RIT。

对此问题,咱们经过 hadoop fsck –delete 指令清除了 miss 的 block。然后逐库经过 hbase hbck –repair 指令来修正 hbase 在修正某个库的时分在测验衔接 ZK 环节长时刻卡死(10 分钟没有任何输出),被逼只能 中止指令。

然后发现毛病表只要 999 个 region,而且呈现 RIT,手动 assign 无效后,测验了重启库及再次 repair 修 复,均无效。

现在在 HDFS 上查看该表 region 目录总数为 1002 个,而 Hbase UI 上是 999 个,正常值为 1000 个。

问题处理:后续查看发现在整个集群的每张 HBase 表都有 region un-assignment 及 rowkey 存在 hole 问题(不是单张表存在问题)。

运转 hbase hbck -details -checkCorruptHFiles 做集群状况查看,查看成果如下:

… ERROR: Region { meta => index_natip201712,#\\xA0,1512009553152.00d96f6b2de55b56453e7060328b7930., hdfs => hdfs://ns1/hbase_ipsource3/data/default/index_natip201712/00d96f6b2de55b56453e7060328b7930, deployed => } not deployed on any region server. ERROR: Region { meta => index_natip201711,Y`,1509436894266.00e2784a250af945c66fb70370344f2f., hdfs => hiscricsdfs://ns1/hbase_ipsource3/data/default/index_natip201711/00e2784a250af945c66fb70370344f2f, deployed => } not deployed on any region server. … ERROR: There is a hole in the region chain between \\x02 and \\x02@. You need to 武汉气候,恋空-ope电竞投注_ope体育主页_ope体育资助西甲create a new .regioninfo and region dir in hdfs to plug the hole. ERR带码菌OR: There is a ho武汉气候,恋空-ope电竞投注_ope体育主页_ope体育资助西甲le in the region chain between \\x04 and \\x04@. You need to create a new .regioninfo and region dir in hdfs to plug the hole.

每张表可用(online)的 region 数都少于 1000,共存在 391 个 inconsistency,整个集群根本不可用。

由于每张表都不可用,所以经过新建表并将原表的 HFile 文件 BulkLoad 入新表的计划根本不可行。

榜首、这种计划耗时太长;第二、做过一个根本测验,假如依照原表预 分区的办法新建表,在 BulkLoad 操作金云裂图片后,无法在新表上查询数据(get 及 scan 操作均 堵塞,原因不知道,开始估量和预分区办法有关)。

依据以上剖析,决议选用 hbck 直接修正原表的计划进行,不再选用 BulkLoad 爱之奇观计划。

运转指令 hbae hbck -repair -fixAssignments -fixMeta,报Repair 进程堵塞反常。

查 HMaster凯子独家 后台日志,发现是某个 RegionServer(DSJ-signal-4T-147/10.黄定微博162.0.175)的衔接数超多构成衔接超时。重启该 RegionServer 后再次运转 hbck -repair -fixAssignments -fixMeta 次序完毕,并成功修正了一切表的 region un-assignm亲吻妈妈ent、hole 及 HBase:meta 问题。

运用层测验整个集群入库正常,问题处理完结。

10、Kafka集群一再抵达功用瓶颈,构成上下游数据传输积压。

Kafka集群节点数50+,集群运用一般SATA盘,存储才能2000TB,千亿级日流量,常常会呈现单个磁盘IO打满,导致出产断传,消费推迟,继而引发消费offset越界,单个节点topic装备记载过期等问题。

1)下降topic副本:

主张假如能下降大部分topic的副本,这个办法是简略有用的。

降副本之后再把集群的复制副本所用的cpu核数下降,能够由num.replica.fetchers=6下降为num.replica.fetchers=3。磁盘IO运用的num.io.threads=14升为num.io.threads=16。num.network.threads=8升为num.network.threads=9。此参数仅仅暂时压榨机器功用,当数据量递加时仍会发作毛病。

2)设定topic创立规矩,针对磁盘功用瓶颈做分区指定磁盘搬迁:

假如下降副本收效甚微,考虑到现在集群瓶颈主要在个香斑弓背蚁别磁盘读写IO抵达峰值,是因磁盘的topic分区分配不合理导致,主张首要做好针对topic分区等级IO速率的监控,然后构成标准合理的topic创立分区规矩(数据量,流量大的topic先创立;分区数*副本数是磁盘总数的整数倍),先做到磁盘存储的均衡,再挑出来单个读写IO抵达瓶颈的磁盘,依据监控找出读写反常大分区。

找出分区后再次进行针对topic的分区扩容或许针对问题分区进行指定磁盘的搬迁。这样集群的全体运用率和安稳功用得到必定的提高,能节约集群资源。

3)Kafka版别晋级及cm纳管:

将手艺集群搬迁至cm纳管,并在线晋级Kafka版别。

4)zk和broker节点别离:

进行zk和broker节点的别离作业,主张进行zk节点改变而不是broker节点改变,以此防止数据复制带来的集群负荷,主张创立测验topic,由客户端恰当添加批巨细和削减提交频率进行测验,使集群功用抵达最优。

>>>>

活动引荐

相关新闻

admin

admin

TA太懒了...暂时没有任何简介

精彩新闻