2014-09-03 5 views
0

64 비트 Ubuntu 12.04 클러스터에 Hadoop 2.5.0을 설치하고 있습니다. 지침이 끝나면 마스터 노드에 $ jps을 입력하고 NameNode를 얻지 마십시오. Hadoop 로그를 확인하여 다음을 찾았습니다.Hadoop과 Python 간의 포트 충돌

BindException 오류 : 9000이 이미 사용 중입니다.

$ netstat -a -t --numeric-ports -p | grep :9000이 포트에서 수신 대기중인 것을 반환합니다. 그것은 파이썬 2.7 다른 포트로 이동해야합니다 나타납니다. 어떻게 파이썬을 움직일 수 있습니까?

아래 명령을 실행하면 pid = 2346이됩니다. $ 추신 -p 2346

PID TTY TIME CMD

2346

? 1시 28분 13초 파이썬

시도 번째 명령

$ 추신 -lp 2,346

FS UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

4 S 0 2346 1 0 80 0 - 332027 poll_s? 1시 28분 30초 파이썬

더 자세히 :

$ 추신 -cp 2346

PID TTY STAT TIME 명령

2346?/usr/lib/cmf

/lib/cmf/agent/build/env/bin/python/usr/

실패한 Cloudera Hadoop 배포판 설치가 제거되지 않은 것으로 보입니다. 그것은 파이썬 2.7을 자동으로 설치했다. 자동으로 실행중인 다른 항목이 무엇인지 모릅니다. 파이썬 2.7 제거를 시도합니다.

+1

Python이 아니고 실행중인 스크립트입니다. 'netstat -anp |를 입력하십시오. grep 9000'을 사용하여 스크립트의 PID를 확인하십시오. –

답변

0

파이썬으로 작성된 프로그램은 분명히 파이썬 2.7 자체가 아닌 포트 9000을 사용하고 있습니다.

이 프로그램을 추적하고 다른 포트에서 수신 대기하도록 구성하는 방법을 알아야합니다. 당신은

netstat -a -t --numeric-ports -p | grep :9000 | awk '{print $7}' | sed -e 's/\/.*//' | xargs echo ps -lp 
+0

감사합니다. 제안 된 명령 pid = 2346. $ ps -p 2346은 PID TTY 시간을 산출합니다 2346? 01:28:13 python – Steve

+0

ps에서 -l 플래그를 사용하여 파이썬 프로그램의 이름을 볼 수 있습니다. – Paddy

0

클라우 데라는 파이썬 2.7을 설치 나타납니다 포트 9000에 대한 프로세스 청취의 전체 세부 사항을 얻기 위해이 명령을 사용할 수 있습니다. 이것은 제거되었거나 python 3.2로 대체되었습니다. Hadoop의 $ jps 명령은 이제 NameNode를 포함하여 예상 된 결과를 반환합니다.