有些事还是经历过了才知道“小心驶得万年船”的道理啊。最近笔者帮一个客户安装HDP2.6.5版本的大数据平台,最重要的是,这次安装的背景是生产环境的云平台迁移,不是普通的开发阶段或者上线阶段。

刚开始拿到系统,自然一片空白,因此有些掉以轻心了。由于是云平台且是新到位的环境,为了方便安装,便直接开了全部网络访问来安装。经过一两天的折腾(过程自不必详述,不是本文的重点),终于完成一个master节点、一个standby节点+3个datanode节点的hdp安装。由于经验不足,加上工作疏忽,忘记了提醒客户调整网络策略,于是两天后悲剧就发生了。

最开始出现的症状是,mapreduce任务和hive任务都跑的巨慢,

深入看看,发现有两个问题,1.是yarn的nodemanger起不来,2是yarn资源管理上出现了一些奇怪的进程,如下:

很明显,看到dr.who这么异常的用户,我们马上感觉不对劲,各种百度找原因,最后确认我们中毒了。重点关注到的是下面的文章,但是很遗憾,没用给出对应的解决方案。

网上找了一些资源,一开始就是蒙的,只能求助于云平台。虽然工作很久了,但是以前的Linux环境大多都是内部网络,第一次接触到Linux中毒的情况。结果云平台又是断网查杀,又是重启,可是最终还是没能解决我们的问题,唯一给出的消息就是,经过诊断,三台datanode中毒了,另外两台maser节点没问题。当时距离迁移结束尚有四五天的时间,于是在苦恼两天以后,决定重新安装datanode。云平台给的建议也是重装系统。

经过一番苦战,我们把三台datanode节点下线以后,直接重置系统,全部清空。然后安装ambari-agent,让ambari-server和ambari-agent建立通信,在三个ambari-agent上初始化客户端+datanode+nodemaneger等。初始化完成以后,也遇到一个问题,这里也记录一下。需要执行hdfs hadoop  dfsadmin -safemode leave让集群离开安全模式,然后删除丢失文件的目录。重新安装以后,经过一番折腾,恢复数据和文件,终于把集群又运行起来了。

然而,命运总是喜欢开玩笑。在系统稳定运行一周后,由于云平台管理人员的失误,本应针对应用服务器开放8080端口的需求误操作成对所有云平台开放8080端口,于是已经在生成环境的服务器再次出现故障,nodemanger每次一启动就down掉。联系云厂商,再次杀掉,折腾了一台以后未见任何进展。我们利用周末时间翻遍了百度、谷歌、必应的各种文章以后,仍未找到合理的解决方案。

在周一即将到来、系统即将迎来大面积访问的关头,我们都做好了要再次重装datanode的准备,然而另外一位同事部署的kafka程序及spark程序不愿意再次配合修改,因此我们只能选择再推迟一天重装来解决此问题。

在周日的晚上十一点多,点的外卖到了一个多小时还没吃的时候,我最后一次尝试卸载一个节点的nodemanger然后重装,在启动的时候偶然遇到错误,提示里面有dr.who的错误,让我意识了这么多次nodemanger一启动就down掉并且不报错可能跟这个病毒有关。于是我开始在网上查找相关资料。

最有用的是下面这篇博文,https://www.cnblogs.com/daxiangfei/p/9198856.html,然而内容过于简单,只给了解题思路,没用给解题步骤。

参照本文的说明,我现实在yarn用户的crontab找到系统定时任务,虽然已经注释,但是我还是手动删掉了。

由于定时任务是yarn用户的,根据经验,我就开始查看yarn用户的进程,ps -ef|grep yarn,于是看到了四个很奇怪的进程,很明显,这就是所谓的挖矿程序。二话不说,我就kill掉了四个进程,然后再次启动nodemanger。在启动过程中我还不是查看yarn的用户的进程,想看看是不是有命令会杀掉nodemanger经常。

结果就看到了,挖矿程序是伴随这个nodemanger启动的,这是,我有两个怀疑,第一,这个挖矿程序修改了nodemanger启动脚本,嵌入到了nodemanger启动过程中;第二,nodemanger容器中包含挖矿程序,导致nodemanger一启动就要执行挖矿任务,“不堪重负累死了”。从表面上看第一个推理比较合理,于是我认真查找挖矿进程对应的脚本并且进行各种删除,但是多次重启以后还是存在挖矿程序同步启动的情况。于是只能尝试第二种思路,第二个设想从其它博文中看到一句命令后就验证了。yarn top命令可以查看yarn正在运行的进程。

这样问题请很清晰了,大量的dr.who的挖矿程序在yarn队列中是提交状态,所以nodemanger一启动就需要开始干活,资源不足或者被挖矿程序抢占了CPU资源所以导致nodemanger启动后马上就悄悄的死掉了。认识到来这一点,我开始查询yarn的其他命令行以及怎么杀死这些任务。

在尝试几次批量查杀后发现进程依然没有减少,于是网上百度查找yarn批量查杀进程的方法。

最后终于找到一个非常好用的命令。在我执行的时候,奇迹出现,dr.who的进程在一个一个得减少,慢慢的mapreduce就出现了,再到后来全部是mapreduce任务和hive任务。这个命令真的很神奇,杀了一堆有害进程,但是对合理的进程全部保留。

# 删除处于ACCEPTED状态的任务for i in  `yarn application  -list | grep -w  ACCEPTED | awk '{print $1}' | grep application_`; do yarn  application -kill $i; done

这是我终于看到了曙光。我在保障所有节点的yarn用户crontab里面没用定时任务以后,登录ambari开始启动nodemanger。正当我点开页面的时候,奇迹出现了,所有的nodemanger满血复活。

等我重新提交任务以后,yarn平台也正是恢复正常,tez和mapreduce任务正常执行。

于是,在产生更严重的生产事故之前,hdp平台就这样被我修复了。经过一天的稳定运行,平台也安然无恙。至此,我修复了一次重大的生成事故。

最后补充说一下,可能由于挖矿程序的升级,"检查/tmp和/var/tmp目录,删除java、ppc、w.conf等异常文件"这一条已经完全失效了,找不到任何对应的文件。        总结一下,远程木马通过yarn的8080端口提交了包含挖矿程序的shell脚本任务给yarn执行,yarn执行以后就产生了crontab定时任务和挖矿进程。由于木马一次性提交了大量(大概一两百个)的相同任务给yarn,所以杀死一两个并不能解决问题,只有全部杀死,才能再次启动nodemanger。

《数据中台研习社》微信群,请添加微信:laowang5244,备注【进群】

?分享、点赞、在看,给个三连击呗!?

anaconda在ubuntu中安装后没有_你的大数据平台中病毒了!!!记一次HDP安装后中dr.who病毒并修复的过程...相关推荐

  1. 云痕大数据 家长登录_云痕大数据平台的使用对初中英语教与学的作用

    摘 要:云痕大数据学情诊断平台是利用"互联网+"的思维方式和云计算.大数据和人工智能等新一代信息技术,以教育数据的汇聚.分析与共享为核心,成为一款教育领域专业的学情诊断工具.教师可 ...

  2. hadloop大数据平台论文_大数据平台建设探讨

    2019.03 1 概述 大数据平台通过统一的 大数据库实现全省业务信息 的集中 , 该库数据来源于全省各个业务系统和基础数据 库等应用数据 . 位置数据 . 搜索数据等结构化数据 . 半 结构化数据 ...

  3. 大数据平台建设方案_工信部:全国范围内逐步推进反诈大数据平台建设

    工信部:全国范围内逐步推进反诈大数据平台建设 信用中山 信用中山 微信号 creditzs 功能介绍 中山市公共信用信息发布平台,由中山市发展和改革局权威发布. 为深入落实国务院打击治理电信网络新型违 ...

  4. 大数据基础学习二:在VMware虚拟机上安装Ubuntu完整步骤及需要注意的问题(以VMware Workstation 15.1.0 Pro和Ubuntu18.04.3优麒麟版为例)

    大数据基础学习二:在VMware虚拟机上安装Ubuntu完整步骤及需要注意的问题 (以VMware Workstation 15.1.0 Pro for Windows和Ubuntu18.04.3优麒 ...

  5. hadloop大数据平台论文_企业大数据平台建设过程中的问题和建议

    2 0 1 7 年 第 1 2 期 信 息 通 信 2017 (总第 180 期) INFORMATION & COMMUNICATIONS ( Sum . N o 180) 企业大数据平台建 ...

  6. (非常详细)大数据平台学习·环境安装配置(一)(RockyLinux9版)

    一.文章简介 着手搭建大数据平台时,配置虚拟机环境是成为新手的第一道门槛.虽然各种视频和网站上也有很多虚拟机安装配置教程,但由于对 Linux 环境不熟悉,同时加上网上不少教程都是五花八门的cento ...

  7. 大数据单机学习环境搭建(9)Spark单节点安装与pyspark使用

    包含sparksql的完整使用案例,请务必耐心看完 专题:大数据单机学习环境搭建和使用 1.Spark安装 2.Spark配置 2.1配置环境变量 2.2spark客户端 3.Spark使用 3.1环 ...

  8. 2021年大数据HBase(九):Apache Phoenix的安装

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 前言 系列历史文章 安装Phoenix 一.下载 二.安装 1.上传安装包 ...

  9. influxdb数据过期_为什么腾讯QQ的大数据平台选择了InfluxDB数据库?

    导读:本文带你了解一个开源的.高性能的时序型数据库--InfluxDB. 作者:韩健 来源:华章科技 00 为什么QQ要选择InfluxDB? 从2016年起,笔者在腾讯公司负责QQ后台的海量服务分布 ...

最新文章

  1. 这三篇论文开源了!何恺明等人的PointRend,Hinton组的SimCLR和谷歌大脑的EfficientDet...
  2. 七十三、Python | Leetcode数字系列(上篇)
  3. Xamarin效果第四篇之CollectionView子项右侧布局
  4. linux命令 - ln - 创建和删除软、硬链接
  5. 如何通过 Mac 使用 AirPods 收听?
  6. 哪些场景应用了dsrc通信标准_如何提高量子通信系统的实用性,制约了量子通信系统的应用场景...
  7. Atitit 传媒学院专业与课程表艾提拉总结 目录 1. 媒体分为感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体 1 1.1. 1、感觉媒体 如文字、数据、声音、图形、图像等。 1 1.2. 表示
  8. 机器学习库线性回归代码_PyCaret回归:更好的机器学习库
  9. chage 修改用户密码的有效期限
  10. 桌面打不开计算机控制面板,右键桌面nvidia控制面板打不开的解决方法 - 系统家园...
  11. <个人学习记录>斑点检测
  12. 荣耀笔记本pro linux版本,荣耀MagicBook Pro锐龙版发布:首发锐龙7 3750H、还有Linux版...
  13. Java 习题 (12)
  14. iOS获取WIFI配置信息,WIFI名称、网关(路由器地址)、本机IP地址、DNS
  15. Cacti使用安装详解
  16. 百练1041-反反复复-2016正式C题
  17. 为本教育柳春丽心理咨询师擅长哪些方面领域
  18. 即使隐藏脸部也没用 最新步态识别技术将用来辨识嫌疑犯
  19. 富途网络科技测试笔试题
  20. 微机原理 判断题练习

热门文章

  1. 超级计算机预测2月有雪寒潮,神预测!中国超级计算提前半个月预测了美国的寒潮...
  2. android studio撤销按钮,Android Studio无法撤消(Android Studio Can't Undo)
  3. 深入理解JVM(一)编译openJDK
  4. jQuery 遍历 (each、map)
  5. Codeforces 429 A. Xor-tree
  6. 数学图形(2.23)Cylindric sine wave柱面正弦曲线
  7. deltasql 1.6.0 发布,数据库模型版本控制
  8. [C++] 为什么Linux需要itoa函数
  9. Setting Gdb on Windows
  10. UA OPTI570 量子力学4 带不含时的标量势的粒子的薛定谔方程