hadoop - 在 ubuntu 16.04 下运行 hadoop 时注销

标签 hadoop ubuntu-16.04

我在 ubuntu 16.04 下的伪集群和集群模式下运行 hadoop 作业时遇到了一些问题。

在运行 vanila hadoop/hdfs 安装时——我的 hadoop 用户得到 注销并关闭该用户运行的所有进程。 我没有在日志中看到任何指示(/var/log/systemd、journalctl 或 dmesg) 解释了用户退出的原因。

似乎我不是唯一遇到此问题或类似问题的人:

https://stackoverflow.com/questions/38288162/in-ubuntu-16-04-running-hadoop-jar-laptop-gets-rebooted

注意:创建特殊的 hadoop 用户并没有真正解决我的问题 - 但将注销限制为专用用户。

https://askubuntu.com/questions/784591/ubuntu-16-04-kills-session-when-resource-usage-is-extremely-high

是否有可能是 UserGroupInformation 类的一些问题 (在某些情况下可能会导致注销),也许 ubuntu 16.04 中 systemd 的某些更改会导致此行为?

注销前我得到的最后几行hadoop日志:

...
16/07/13 16:45:37 DEBUG ipc.ProtobufRpcEngine: Call: getJobReport took 4ms
16/07/13 16:45:37 DEBUG security.UserGroupInformation: PrivilegedAction
as:hduser (auth:SIMPLE)
from:org.apache.hadoop.mapreduce.Job.updateStatus(Job.java:320)
16/07/13 16:45:37 DEBUG ipc.Client: IPC Client (1360814716) connection to
laptop/127.0.1.1:37339 from hduser sending #375
16/07/13 16:45:37 DEBUG ipc.Client: IPC Client (1360814716) connection to
laptop/127.0.1.1:37339 from hduser got value #375
16/07/13 16:45:37 DEBUG ipc.ProtobufRpcEngine: Call: getJobReport took 2ms
Terminated
hduser@laptop:~$ 16/07/13 16:45:37 DEBUG ipc.Client: stopping client from
cache: org.apache.hadoop.ipc.Client@4e7ab839
exit

杂志:

Jul 12 16:06:44 laptop systemd-logind[978]: Removed session 7.
Jul 12 16:06:44 laptop systemd-logind[978]: Removed session 6.
Jul 12 16:06:44 laptop systemd-logind[978]: Removed session 5.
Jul 12 16:06:44 laptop systemd-logind[978]: Removed session 8.

系统日志:

Jul 12 16:06:43 laptop systemd[4172]: Stopped target Default.
Jul 12 16:06:43 laptop systemd[4172]: Reached target Shutdown.
Jul 12 16:06:44 laptop systemd[4172]: Starting Exit the Session...
Jul 12 16:06:44 laptop systemd[4172]: Stopped target Basic System.
Jul 12 16:06:44 laptop systemd[4172]: Stopped target Sockets.
Jul 12 16:06:44 laptop systemd[4172]: Stopped target Paths.
Jul 12 16:06:44 laptop systemd[4172]: Stopped target Timers.
Jul 12 16:06:44 laptop systemd[4172]: Received SIGRTMIN+24 from PID
10101 (kill).
Jul 12 16:06:44 laptop systemd[1]: Stopped User Manager for UID 1001.
Jul 12 16:06:44 laptop systemd[1]: Removed slice User Slice of hduser.

最佳答案

我也遇到了这个问题。这花了我一些时间,但我在这里找到了解决方案:https://unix.stackexchange.com/questions/293069/all-services-of-a-user-are-killed-when-running-multiple-services-under-this-user

基本上,一些 hadoop 进程只是停止,因为为什么不呢。但是 systemd 似乎会在用户看到某个服务的进程快死时杀死所有用户的进程。

修复是添加

[login]
KillUserProcesses=no

/etc/systemd/logind.conf 并重新启动。

我有多个 ubuntu 版本来调试问题,修复似乎只适用于 ubuntu 16.04。

关于hadoop - 在 ubuntu 16.04 下运行 hadoop 时注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38419078/

相关文章:

hadoop - 格式化本地文件系统HDFS并启动Hadoop

python - Python 的三个版本?

ubuntu - grafana-server 在 CHDIR 步骤失败

linux - 无法在 Ubuntu 16.04.2 LTS 上启动 docker(初始化 graphdriver 时出错)

elasticsearch - 使用Docker配置Elasticsearch和Kibana

ubuntu - Ambari 安装与其余的 hadoop 生态系统

python - hadoop streaming - 如何使用python内部连接两个差异文件

hadoop - 由于 UTC 时间, hive 中的日期转换问题

mysql - 登录mysql?

hadoop - 如何从 Spark 中查看底层 Hadoop 文件系统