2016-07-17 4 views
5

우분투 16.04에서 가상 클러스터와 클러스터 모드에서 모두 hadoop 작업을 실행하는 데 문제가 있습니다.우분투에서 hadoop을 실행하는 동안 로그 아웃 16.04

vanila hadoop/hdfs 설치를 실행하는 동안 - 내 hadoop 사용자가 을 로그 아웃하고이 사용자가 실행 한 모든 프로세스가 닫힙니다. 사용자가 로그 아웃 한 이유를 설명하는 로그 (/ var/log/systemd, journalctl 또는 dmesg)에 아무 것도 표시되지 않습니다. 하지만 제한된 로그 아웃 - 특별 하둡 사용자가 실제로 내 경우에는 문제를 해결하지 않았 만들기 :

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

참고 :이 또는 유사한 문제에 문제가있는 유일한 아니다처럼

보인다 전용 사용자에게.

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

는 우분투 16.04에서 systemd 어쩌면 약간의 변화와 함께 UserGroupInformation 클래스 (즉, 어떤 상황이 로그 아웃을 일으킬 수 아래), 주변에 약간의 문제가이 동작이 발생할 수 있음을 수 있습니까? 내가 로그 아웃하기 전에 얻을 하둡 로그의

마지막 라인 :

... 
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 
[email protected]:~$ 16/07/13 16:45:37 DEBUG ipc.Client: stopping client from 
cache: [email protected] 
exit 

journalctl :

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. 

답변

5

. 시간이 걸렸지 만 여기서 해결책을 찾았습니다. 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 재부팅에 추가하는 것입니다.

나는 우분투의 버전을 문제를 디버깅하기 위해 가지고 있었고 수정은 우분투 16.04에서만 작동하는 것으로 보인다.

+0

logind.conf 파일을 업데이트했습니다. 이것은 랩톱에서 작동하지만 VM에서 사용하지는 않습니다. –

3

나는 똑같은 문제가 있었다. 마지막으로, 나는이 문제를 해결할 수있는 /bin/kill in ubuntu16.04 has bug in killing process group을 발견했습니다. PID 다음 미만 -1이다

경우 SIG 가 그의 ID 프로세스 그룹에서 모든 프로세스에 전송되기 때문에 Procps의-NG의 버그 -pid

인 -3.3.10, ID가 1로 시작되고, bin/yarn application -kill AppID에 의해 호출 된 프로세스 그룹을 강제 종료하면 사용자 로그 아웃이 발생합니다.

/bin/kill을 procps-ng-3.3.12에서 컴파일 된 새 kill으로 바꾸면 문제가 해결됩니다.

tar xJf procps-ng-3.3.12.tar.xz 
cd procps-ng-3.3.12 
./configure 
sudo cp .lib/kill /bin/kill 
sudo chown root:root /bin/kill 
sudo cp proc/.libs/libprocps.so.6.0.0 /lib/x86_64-linux/gnu/ 
sudo chown root:root /lib/x86_64-linux-gnu/libprocps.so.6.0.0 
2

나는 동일한 문제가있었습니다. 내가 hadoop 네이티브 아파치 APEX를 사용했다. 어떤 APEX 응용 프로그램을 죽이는 동안 내 시스템은 나를 로그 아웃하는 데 사용되었습니다.

솔루션 : 14

모든 전에 나를 위해 업그레이드처럼 원활하게 작동 우분투의 살인 파일과 우분투 16 (/ 빈/죽에 존재)에 킬 (kill) 파일을 대체하십시오.

관련 문제