背景
随着纳管的组件越来越多,各节点混部时,尤其在测试验证阶段,不同节点完全混部,会出现一些常见端口冲突,导致一些服务无法启动。
方法
通过netstat对应pid命令、官方配置文件,当前组件配置文件来确认组件常见固定端口。
结果
产出各组件常用端口,通过Linux机器初始化时,对这些常用端口进行net.ipv4.ip_local_reserved_ports设置,预留这些端口。
常见组件LIST
组件有Doris、ElasticSearch。
Doris常用端口
官方文档参考:
版本:2.0.4
配置参数 | 默认端口 | 当前配置端口 | 端口修改 | 端口说明 |
be_port | 9060 | 9060 | BE 上 thrift server 的端口号,用于接收来自 FE 的请求。 | |
brpc_port | 8060 | 8060 | BE 上的 brpc 的端口,用于 BE 之间通讯。 | |
edit_log_port | 9010 | 9010 | bdbje端口 | |
heartbeat_service_port | 9050 | 9050 | BE 上心跳服务端口(thrift),用于接收来自 FE 的心跳。 | |
http_port | 8030 | 8030 | 8035 | FE http 端口,当前所有 FE http 端口都必须相同,生产环境被改成了8035。 |
https_port | 8050 | FE https 端口,当前所有 FE https 端口都必须相同。 | ||
query_port | 9030 | 9030 | Doris FE 通过 mysql 协议查询连接端口 | |
rpc_port | 9020 | 9020 | FE Thrift Server的端口 | |
single_replica_load_brpc_port | 9070 | 单副本数据导入功能中,Master副本和Slave副本之间通信的RPC端口。 Master副本flush完成之后通过RPC通知Slave副本同步数据,以及Slave副本同步数据完成后通过RPC通知Master副本。 系统为单副本数据导入过程中Master副本和Slave副本之间通信开辟了独立的BRPC线程池, 以避免导入并发较大时副本之间的数据同步抢占导入数据分发和查询任务的线程资源。 | ||
single_replica_load_download_port | 8050 | 单副本数据导入功能中,Slave副本通过HTTP从Master副本下载数据文件的端口。 系统为单副本数据导入过程中Slave副本从Master副本下载数据文件开辟了独立的HTTP线程池, 以避免导入并发较大时Slave副本下载数据文件抢占其他http任务的线程资源。 | ||
webserver_port | 8040 | 8045 | 8045 | BE 上的 http server 的服务端口 |
ElasticSearch常用端口
官方文档参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-network.html
版本:Elasticsearch-7.10.2
配置参数 | 默认端口 | 当前配置端口 | 端口说明 |
com.sun.management.jmxremote.port | 无 | 9400 | es jmx 端口 |
http.port | 无 | 9200 | es http 端口 |
transport.port | 无 | 9300 | es transport 端口 |