본문 바로가기
리눅스

[hadoop][python][linux] sudo: no tty present and no askpass program specified 오류 처리하기

by hs_seo 2016. 10. 5.

하둡을 이용하여 파이썬 프로그램을 실행하던중

로컬에서는 실행이 되는데, MR을 이용하여 실행하면 다음과 같은 오류가 발생하는 

경우가 있다. 


<실행명령>

os.system("sudo apt-get -y install python-pip")


<오류>

sudo: no tty present and no askpass program specified


로컬에서 바로 실행을 하면 sudo 명령을 사용할 수 있는데,

mr 을이용하면 사용이 불가능하다. 


이는 mr을 이용하여 실행하면, 프로그램을 실행하는 노드로 ssh를 이용하여 접속을 하고

해당 프로그램을 실행시키는데 이때 mr은 yarn 계정으로 접근을 하고 이 yarn 계정은 

sudo 실행 권한이 없기 때문이다. 


이 문제를 해결하기 위해서는 하둡시스템의 모든 노드의 yarn 계정의 권한에 

sudo 를 패스워드 없이 사용할 수 있도록 수정을 하던지

sudo 권한을 이용하는 부분을 제거해야 한다. 


sudo 권한의 수정은 /etc/sudoers 파일을 수정하여 처리한다. 



반응형