Hadoop和python之间的端口冲突

2024-06-07 11:07:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个64位的ubuntu12.04集群上安装hadoop2.5.0。在指令的末尾,我在主节点上键入$ jps,但没有得到NameNode。我查看了Hadoop日志发现:

BindException error stating :9000 is already in use.

$ netstat -a -t --numeric-ports -p | grep :9000返回python正在侦听此端口。看来我需要将Python2.7移到另一个端口。如何移动python?在

按照下面的命令,pid=2346。在

$ ps -p 2346

PID TTY TIME CMD

2346 ? 01:28:13 python

尝试第二个命令:

$ ps -lp 2346

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

4 S 0 2346 1 0 80 0 - 332027 poll_s ? 01:28:30 python

更多细节:

$ ps -Cp 2346

PID TTY STAT TIME COMMAND

2346 ? Ssl 88:34 /usr/lib/cmf/agent/build/env/bin/python /usr/lib/cmf/agent/src/cmf/agent.py --package_dir /usr/lib/cmf

看起来一个失败的clouderahadoop发行版安装没有被删除。它自动安装了python2.7。不知道还有什么是自动运行的。将尝试卸载Python2.7。在


Tags: 端口命令cmd节点timelibusr指令
2条回答

明确地说,用python编写的程序使用的是端口9000,而不是python2.7本身。在

您需要跟踪这个程序,然后找出如何配置它以在不同的端口上侦听。您可以使用这个命令来获取监听端口9000的进程的全部细节

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

Cloudera似乎安装了python2.7。这是删除/替换为python3.2。 Hadoop上的$jps命令现在返回预期的结果,包括NameNode。在

相关问题 更多 >

    热门问题