所有大数据中会用到的端口号
·
在大数据生态系统中,各类组件(如分布式存储、计算框架、消息队列等)通过特定端口进行通信、提供服务或暴露管理界面。以下按组件分类,详细列出常用端口号及其用途,并说明注意事项。
一、协调服务类
1. ZooKeeper(分布式协调服务)
-
2181
- 用途:客户端连接端口(如 Kafka、HBase 等组件通过此端口连接 ZooKeeper)。
- 说明:ZooKeeper 的默认客户端通信端口,必须开放给所有依赖 ZooKeeper 的服务。
- 注意:可通过
zoo.cfg的clientPort配置修改。
-
2888
- 用途:ZooKeeper 集群中 follower 与 leader 之间的通信端口(数据同步)。
- 说明:仅集群模式下使用,单节点不启用。
-
3888
- 用途:ZooKeeper 集群的选举端口(当 leader 故障时,follower 通过此端口选举新 leader)。
- 说明:仅集群模式下使用。
二、Hadoop 生态
1. HDFS(分布式文件系统)
-
9870(Hadoop 3.x)/ 50070(Hadoop 2.x)
- 用途:NameNode 的 Web UI 端口(用于查看 HDFS 状态、文件系统、节点信息等)。
- 说明:管理员常用界面,可通过
hdfs-site.xml的dfs.namenode.http-address配置修改。
-
8020(Hadoop 3.x)/ 9000(Hadoop 2.x 默认)
- 用途:NameNode 的 RPC 端口(客户端、DataNode 与 NameNode 的通信端口,用于元数据操作)。
- 说明:核心通信端口,Hive、Spark 等组件读写 HDFS 时需通过此端口。
-
9864(Hadoop 3.x)/ 50075(Hadoop 2.x)
- 用途:DataNode 的 Web UI 端口(查看 DataNode 状态、存储信息、块分布等)。
- 配置:
dfs.datanode.http-address。
-
9866(Hadoop 3.x)/ 50010(Hadoop 2.x)
- 用途:DataNode 的数据传输端口(客户端读取 / 写入数据时与 DataNode 通信)。
- 配置:
dfs.datanode.address。
-
9868(Hadoop 3.x)/ 50090(Hadoop 2.x)
- 用途:Secondary NameNode 的 Web UI 端口(用于查看 Secondary NameNode 状态,辅助 NameNode 合并编辑日志)。
- 配置:
dfs.secondary.http-address。
2. YARN(资源管理器)
-
8088
- 用途:ResourceManager 的 Web UI 端口(查看集群资源、运行中的作业、应用状态等)。
- 配置:
yarn.resourcemanager.webapp.address。
-
8032
- 用途:ResourceManager 的 RPC 端口(客户端提交作业、申请资源时的通信端口)。
- 配置:
yarn.resourcemanager.address。
-
8030
- 用途:ResourceManager 的 scheduler 端口(与 ApplicationMaster 通信,分配资源)。
- 配置:
yarn.resourcemanager.scheduler.address。
-
8042
- 用途:NodeManager 的 Web UI 端口(查看节点资源使用情况、容器状态等)。
- 配置:
yarn.nodemanager.webapp.address。
-
8040
- 用途:NodeManager 的本地通信端口(ApplicationMaster 与 NodeManager 通信,管理容器生命周期)。
- 配置:
yarn.nodemanager.localizer.address。
三、数据仓库与查询引擎
1. Hive
-
10000
- 用途:HiveServer2 端口(客户端通过 JDBC/ODBC 连接 Hive 的端口,如 Beeline、Spark SQL 等)。
- 说明:Hive 的核心服务端口,默认不加密,生产环境建议配置 SSL(端口改为 10009)。
- 配置:
hive-site.xml的hive.server2.thrift.port。
-
9083
- 用途:Hive Metastore 服务端口(Hive 元数据存储服务,供 HiveServer2、Spark 等访问元数据)。
- 说明:元数据(表结构、分区信息等)通过此端口交互,需开放给依赖组件。
- 配置:
hive.metastore.uris(格式:thrift://<host>:9083)。
-
10002
- 用途:HiveServer2 的 Web UI 端口(查看 HiveServer2 的会话、查询历史等)。
- 配置:
hive.server2.webui.port。
2. Spark
-
7077
- 用途:Spark Standalone 模式下 Master 的 RPC 端口(Worker 节点注册、客户端提交作业)。
- 说明:仅 Standalone 集群使用,YARN/Mesos 模式不依赖此端口。
-
8080
- 用途:Spark Standalone Master 的 Web UI 端口(查看集群资源、运行中的应用等)。
- 配置:
spark.master.webui.port。
-
8081
- 用途:Spark Standalone Worker 的 Web UI 端口(查看 Worker 节点的资源、运行的 Executor 等)。
- 配置:
spark.worker.webui.port。
-
18080
- 用途:Spark History Server 的 Web UI 端口(查看已完成的 Spark 应用日志、DAG 等)。
- 配置:
spark.history.ui.port。
-
4040
- 用途:Spark Driver 的 Web UI 端口(运行中的 Spark 应用实时监控界面,如 RDD 血缘、Stage 进度等)。
- 说明:每个应用的 Driver 端口默认从 4040 开始,若被占用则递增(4041、4042 等)。
3. Flink
-
8081
- 用途:Flink JobManager 的 Web UI 端口(提交作业、监控作业状态、查看 Checkpoint 等)。
- 配置:
flink-conf.yaml的rest.port。
-
6123
- 用途:Flink JobManager 与 TaskManager 的 RPC 通信端口(TaskManager 注册、任务分配)。
- 配置:
jobmanager.rpc.port。
-
8082
- 用途:Flink History Server 的 Web UI 端口(查看已完成的作业历史、Checkpoint/Savepoint 信息)。
- 配置:
historyserver.web.port。
四、NoSQL 数据库
1. HBase
-
16010(HBase 2.x)/ 60010(HBase 1.x)
- 用途:HBase Master 的 Web UI 端口(查看集群状态、表信息、Region 分布等)。
- 配置:
hbase-site.xml的hbase.master.info.port。
-
16030(HBase 2.x)/ 60030(HBase 1.x)
- 用途:HBase RegionServer 的 Web UI 端口(查看 RegionServer 状态、存储的 Region 等)。
- 配置:
hbase.regionserver.info.port。
-
16000(HBase 2.x)/ 60000(HBase 1.x)
- 用途:HBase Master 的 RPC 端口(客户端与 Master 通信,如创建表、删除表)。
- 配置:
hbase.master.port。
-
16020(HBase 2.x)/ 60020(HBase 1.x)
- 用途:HBase RegionServer 的 RPC 端口(客户端读写数据时与 RegionServer 通信)。
- 配置:
hbase.regionserver.port。
2. Cassandra
-
9042
- 用途:Cassandra 的 CQL(Cassandra Query Language)客户端连接端口(如 cqlsh 工具)。
- 说明:默认端口,可通过
cassandra.yaml的native_transport_port修改。
-
7000
- 用途:Cassandra 节点间通信端口(集群内节点 gossip 协议通信,数据同步)。
- 配置:
storage_port(非 SSL);ssl_storage_port(SSL 加密,默认 7001)。
-
7199
- 用途:Cassandra JMX 监控端口(通过 JMX 工具监控节点状态、 metrics 等)。
五、消息队列
1. Kafka
-
9092
- 用途:Kafka Broker 的默认通信端口(客户端生产 / 消费消息时的连接端口)。
- 配置:
server.properties的listeners=PLAINTEXT://:9092(PLAINTEXT 表示非加密)。
-
9093
- 用途:Kafka Broker 的 SSL 加密通信端口(生产环境推荐启用,避免数据明文传输)。
- 配置:
listeners=SSL://:9093。
-
2181
- 用途:Kafka 依赖 ZooKeeper 的端口(存储 Broker 元数据、分区 Leader 信息等)。
2. RabbitMQ
-
5672
- 用途:RabbitMQ 的默认 AMQP 协议客户端连接端口(非加密)。
- 配置:
rabbitmq.conf的listeners.tcp.default = 5672。
-
5671
- 用途:AMQP 协议的 SSL 加密端口。
-
15672
- 用途:RabbitMQ 的 Web 管理界面端口(通过浏览器访问,默认用户名 / 密码 guest/guest)。
六、搜索引擎与监控
1. Elasticsearch
-
9200
- 用途:Elasticsearch 的 HTTP REST API 端口(客户端通过 HTTP 请求操作索引,如创建、查询数据)。
- 配置:
elasticsearch.yml的http.port: 9200。
-
9300
- 用途:Elasticsearch 集群内部节点通信端口(TCP 协议,用于节点间数据同步、集群管理)。
- 配置:
transport.port: 9300。
2. Kibana
- 5601
- 用途:Kibana 的 Web UI 端口(可视化 Elasticsearch 数据的界面,默认连接本地 9200 端口的 ES)。
- 配置:
kibana.yml的server.port: 5601。
3. Prometheus & Grafana
-
9090(Prometheus)
- 用途:Prometheus 的 Web UI 和 HTTP API 端口(用于配置监控目标、查询 metrics)。
-
3000(Grafana)
- 用途:Grafana 的 Web UI 端口(可视化 Prometheus 等数据源的监控指标,默认用户名 / 密码 admin/admin)。
七、其他常用组件
- Redis:6379(默认客户端连接端口)、6380(SSL 端口)。
- MySQL:3306(默认端口,常用于 Hive、Sqoop 等组件的元数据存储)。
- Sqoop:无固定端口(依赖 Hadoop、MySQL 等组件的端口)。
- Flink SQL Client:无固定端口(通过 8081 连接 Flink 集群)。
注意事项
- 端口冲突:大数据组件众多,默认端口可能冲突(如 HiveServer2 和 Spark Thrift Server 都可能用 10000),需提前规划修改。
- 安全性:生产环境中,非必要的 Web UI 端口应限制访问,核心通信端口建议配置 SSL 加密(如 Kafka 的 9093、Hive 的 10009)。
- 版本差异:同一组件的不同版本可能调整端口(如 Hadoop 2.x 与 3.x 的 HDFS 端口),需根据实际版本确认。
- 配置文件:所有端口均可通过组件的配置文件修改(如
flink-conf.yaml、server.properties),建议统一管理端口映射表。
通过上述端口,大数据组件实现了服务暴露、内部通信和集群管理,是分布式系统正常运行的基础。
更多推荐

所有评论(0)