Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。
这里包含我们使用到的组件:HDFS, YARN, HBase, Hive, ZooKeeper:
组件
节点
默认端口
配置
用途说明
HDFS
DataNode
50010
dfs.datanode.address
datanode服务端口,用于数据传输
HDFS
DataNode
50075
dfs.datanode.http.address
http服务的端口
HDFS
DataNode
50475
dfs.datanode.https.address
https服务的端口
HDFS
DataNode
50020
dfs.datanode.ipc.address
ipc服务的端口
HDFS
NameNode
50070
dfs.namenode.http-address
http服务的端口
HDFS
NameNode
50470
dfs.namenode.https-address
https服务的端口
HDFS
NameNode
8020
fs.defaultFS
接收Client连接的RPC端口,用于获取文件系统metadata信息。
HDFS
journalnode
8485
dfs.journalnode.rpc-address
RPC服务
HDFS
journalnode
8480
dfs.journalnode.http-address
HTTP服务
HDFS
ZKFC
8019
dfs.ha.zkfc.port
ZooKeeper FailoverController,用于NN HA
YARN
ResourceManager
8032
yarn.resourcemanager.address
RM的applications manager(ASM)端口
YARN
ResourceManager
8030
yarn.resourcemanager.scheduler.address
scheduler组件的IPC端口
YARN
ResourceManager
8031
yarn.resourcemanager.resource-tracker.address
IPC
YARN
ResourceManager
8033
yarn.resourcemanager.admin.address
IPC
YARN
ResourceManager
8088
yarn.resourcemanager.webapp.address
http服务端口
YARN
NodeManager
8040
yarn.nodemanager.localizer.address
localizer IPC
YARN
NodeManager
8042
yarn.nodemanager.webapp.address
http服务端口
YARN
NodeManager
8041
yarn.nodemanager.address
NM中container manager的端口
YARN
JobHistory Server
10020
mapreduce.jobhistory.address
IPC
YARN
JobHistory Server
19888
mapreduce.jobhistory.webapp.address
http服务端口
HBase
Master
60000
hbase.master.port
IPC
HBase
Master
60010
hbase.master.info.port
http服务端口
HBase
RegionServer
60020
hbase.regionserver.port
IPC
HBase
RegionServer
60030
hbase.regionserver.info.port
http服务端口
HBase
HQuorumPeer
2181
hbase.zookeeper.property.clientPort
HBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。
HBase
HQuorumPeer
2888
hbase.zookeeper.peerport
HBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。
HBase
HQuorumPeer
3888
hbase.zookeeper.leaderport
HBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。
Hive
Metastore
9083
/etc/default/hive-metastore中export PORT=<port>来更新默认端口
Hive
HiveServer
10000
/etc/hive/conf/hive-env.sh中export HIVE_SERVER2_THRIFT_PORT=<port>来更新默认端口
ZooKeeper
Server
2181
/etc/zookeeper/conf/zoo.cfg中clientPort=<port>
对客户端提供服务的端口
ZooKeeper
Server
2888
/etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],标蓝部分
follower用来连接到leader,只在leader上监听该端口。
ZooKeeper
Server
3888
/etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],标蓝部分
用于leader选举的。只在electionAlg是1,2或3(默认)时需要。
所有端口协议均基于TCP。
对于存在Web UI(HTTP服务)的所有hadoop daemon,有如下url:
/logs 日志文件列表,用于下载和查看
/logLevel 允许你设定log4j的日志记录级别,类似于hadoop daemonlog
/stacks 所有线程的stack trace,对于debug很有帮助
/jmx 服务端的Metrics,以JSON格式输出。
/jmx?qry=Hadoop:*会返回所有hadoop相关指标。 /jmx?get=MXBeanName::AttributeName 查询指定bean指定属性的值,例如/jmx?get=Hadoop:service=NameNode,name=NameNodeInfo::ClusterId会返回ClusterId。 这个请求的处理类:org.apache.hadoop.jmx.JMXJsonServlet
而特定的Daemon又有特定的URL路径特定相应信息。
NameNode:http://:50070/
/dfshealth.jsp HDFS信息页面,其中有链接可以查看文件系统
/dfsnodelist.jsp?whatNodes=(DEAD|LIVE) 显示DEAD或LIVE状态的datanode
/fsck 运行fsck命令,不推荐在集群繁忙时使用!
DataNode:http://:50075/
/blockScannerReport 每个datanode都会指定间隔验证块信息
补充一些内容:
需要知道的默认配置在Hadoop 2.2.0中,YARN框架有很多默认的参数值,如果你是在机器资源比较不足的情况下,需要修改这些默认值,来满足一些任务需要。 NodeManager和ResourceManager都是在yarn-site.xml文件中配置的,而运行MapReduce任务时,是在mapred-site.xml中进行配置的。 下面看一下相关的参数及其默认值情况:
参数名称
默认值
进程名称
配置文件
含义说明
yarn.nodemanager.resource.memory-mb
8192
NodeManager
yarn-site.xml
从节点所在物理主机的可用物理内存总量
yarn.nodemanager.resource.cpu-vcores
8
NodeManager
yarn-site.xml
节点所在物理主机的可用虚拟CPU资源总数(core)
yarn.nodemanager.vmem-pmem-ratio
2.1
NodeManager
yarn-site.xml
使用1M物理内存,最多可以使用的虚拟内存数量
yarn.scheduler.minimum-allocation-mb
1024
ResourceManager
yarn-site.xml
一次申请分配内存资源的最小数量
yarn.scheduler.maximum-allocation-mb
8192
ResourceManager
yarn-site.xml
一次申请分配内存资源的最大数量
yarn.scheduler.minimum-allocation-vcores
1
ResourceManager
yarn-site.xml
一次申请分配虚拟CPU资源最小数量
yarn.scheduler.maximum-allocation-vcores
8
ResourceManager
yarn-site.xml
一次申请分配虚拟CPU资源最大数量
mapreduce.framework.name
local
MapReduce
mapred-site.xml
取值local、classic或yarn其中之一,如果不是yarn,则不会使用YARN集群来实现资源的分配
mapreduce.map.memory.mb
1024
MapReduce
mapred-site.xml
每个MapReduce作业的map任务可以申请的内存资源数量
mapreduce.map.cpu.vcores
1
MapReduce
mapred-site.xml
每个MapReduce作业的map任务可以申请的虚拟CPU资源的数量
mapreduce.reduce.memory.mb
1024
MapReduce
mapred-site.xml
每个MapReduce作业的reduce任务可以申请的内存资源数量
yarn.nodemanager.resource.cpu-vcores
8
MapReduce
mapred-site.xml
每个MapReduce作业的reduce任务可以申请的虚拟CPU资源的数量
