【Hadoop】dr.who hadoop YARN

Environment

Hadoop 2.7.2, docker

Description

使用docker创建三个hadoop容器搭建伪分布式集群,在hadoop上面跑job,一段时间后会出现user为dr.who的无意义的job一直UNDEFINED,占用yarn资源,导致一些job没办法执行。

屏幕快照 2019-03-02 23.36.27

而dr.who则是某种默认用户

屏幕快照 2019-03-03 00.09.37

所以需要修改配置,在core-site.xml添加:

1
2
3
4
<property>
<name>hadoop.http.staticuser.user</name>
<value>yarn</value>
</property>

屏幕快照 2019-03-02 23.39.20

2019.03.12更新:

之后又出现了user为yarn的无意义job,通过top命令查看,占用内存超过100%

通过ps -ef | grep java查看,出现/var/tmp/java -c /var/tmp/w.conf,通过crontab -l查看有个定时任务,估计是中了病毒,然后:

1.通过kill -9 {pid}关闭进程

2.通过crontab -r移除定时任务

2019.03.19更新:

通过以上两步能及时解决CPU占用超过100%的情况,但是只是暂时,只要打开hadoop就会不断被黑,然后终于找到一个永久解决的办法:在core-site.xml配置文件中增加如下三行,以及创建/hadoop/hdfs/hadoop-http-auth-signature-secret文件,里面输入自己想要的密码

1
2
3
4
5
6
7
8
9
10
11
12
<property>
<name>hadoop.http.filter.initializers</name>
<value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
</property>
<property>
<name>hadoop.http.authentication.type</name>
<value>simple</value>
</property>
<property>
<name>hadoop.http.authentication.signature.secret.file</name>
<value>/hadoop/hdfs/hadoop-http-auth-signature-secret</value>
</property>

Reference

Hadoop dr.who问题

其他关于virus attack的解决办法:

Yarn application undefined created by dr.who

2019.03.12 更新:

Hadoop Yarn 未授权访问导致被攻击

这似乎是yarn被木马感染,即使我重新安装我的电脑?

yarn一直在跑一个用户为dr.who的application

Centos定时启动和清除任务

Hadoop 权限认证