我在一个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。在
明确地说,用python编写的程序使用的是端口9000,而不是python2.7本身。在
您需要跟踪这个程序,然后找出如何配置它以在不同的端口上侦听。您可以使用这个命令来获取监听端口9000的进程的全部细节
Cloudera似乎安装了python2.7。这是删除/替换为python3.2。 Hadoop上的$jps命令现在返回预期的结果,包括NameNode。在
相关问题 更多 >
编程相关推荐