首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定Hadoop使用的所有默认端口并更改所有端口?

如何确定Hadoop使用的所有默认端口并更改所有端口?
EN

Stack Overflow用户
提问于 2013-08-14 05:36:09
回答 1查看 3.1K关注 0票数 0

我在运行CentOS 6.4的三台虚拟机集群上试用了Hadoop 2。

我成功地启动了hadoop集群,尽管Hadoop 2的配置文件(如:core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml )非常折磨我。

我想更改Hadoop 2使用的所有默认端口。配置文件的正式文档定义了这么多端口号。因此,我认为最好确定Hadoop在运行时使用哪些端口,然后更改所有端口。那么,如何找到运行CentOS的集群中Hadoop使用的所有默认端口呢?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-14 11:15:21

通过使用netstat命令,结合一个小型bash衬垫,您可以找到特定进程打开的端口。我目前还没有hadoop在我的机器上运行,所以这里有一个例子来了解sshd在哪个端口上运行(应该是22!):

您需要知道hadoop进程的进程id (TT、JT、NN、DN等),可以通过执行另一个oneliner来找到它,因此对于我的sshd示例:

代码语言:javascript
运行
复制
#> sudo ps axww | grep sshd
1065 ?        Ss     0:00 /usr/sbin/sshd -D

您可以将grep中的sshd替换为hadoop,它将捕获该节点上运行的大多数进程。

现在,我们可以使用另一个班轮来了解sshd为LISTENing打开了哪些端口(进程id 1065):

代码语言:javascript
运行
复制
#> sudo netstat -alpn | grep 1065 | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1065/sshd       
tcp6       0      0 :::22                   :::*                    LISTEN      1065/sshd       

您需要在所有节点上对所有hadoop进程执行此操作。数据节点和任务跟踪器端口应该跨机器匹配,但只有一个节点可能有一个名称节点/作业跟踪器进程正在运行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18223924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档