hadoop2.x 常用端口及定义方法
一. 常用端口号
Hadoop 集群的各部分一般都会使用到多个端口,有些是 daemon 之间进行交互之用,有些是用于 RPC 访问以及 HTTP 访问。而随着 Hadoop 周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。
这里包含我们使用到的组件:HDFS, YARN, HBase, Hive, ZooKeeper:
1.1 HDFS
组件 | 节点 | 默认端口 | 配置 | 用途说明 |
---|---|---|---|---|
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 |
1.2 YARN
组件 | 节点 | 默认端口 | 配置 | 用途说明 |
---|---|---|---|---|
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服务端口 |
1.3 HBase
组件 | 节点 | 默认端口 | 配置 | 用途说明 |
---|---|---|---|---|
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集群则不会启用该端口 |
1.4 Hive
组件 | 节点 | 默认端口 | 配置 | 用途说明 |
---|---|---|---|---|
Hive | Metastore | 9083 | /etc/default/hive-metastore中export PORT=来更新默认端口 | |
Hive | HiveServer | 10000 | /etc/hive/conf/hive-env.sh中export HIVE_SERVER2_THRIFT_PORT=来更新默认端口 |
1.5 ZooKeeper
组件 | 节点 | 默认端口 | 配置 | 用途说明 |
---|---|---|---|---|
ZooKeeper | Server | 2181 | /etc/zookeeper/conf/zoo.cfg中clientPort= | 对客户端提供服务的端口 |
ZooKeeper | Server | 3888 | /etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],标蓝部分 | 用于leader选举的。只在electionAlg是1,2或3(默认)时需要 |
所有端口协议均基于TCP,所以可以使用以下命令去查看
netstat -ntlp
- 1
二. Web UI(HTTP服务)
2.1 对于存在 Web UI(HTTP服务)的所有 hadoop daemon 有如下 url
1. /logs
日志文件列表,用于下载和查看
2. /logLevel
允许你设定 log4j 的日志记录级别,类似于 hadoop daemonlog
3. /stacks
所有线程的 stack trace,对于 debug 很有帮助
4. /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
2.2 特定的 Daemon 又有特定的 URL 路径特定相应信息
NameNode:http://:50070/
- 1
1. /dfshealth.jsp
HDFS 信息页面,其中有链接可以查看文件系统
/dfsnodelist.jsp?whatNodes=(DEAD|LIVE)
显示 DEAD 或 LIVE 状态的 datanode
2. /fsck
运行 fsck 命令,不推荐在集群繁忙时使用!
DataNode:http://:50075/
- 1
3. /blockScannerReport
每个 datanode 都会指定间隔验证块信息