云服务器docker中Hbase整合java-api需要放行的接口

在使用 Docker 部署 HBase 并通过 Java API 进行访问时,确保通信畅通非常重要。如果 HBase 部署在云服务器或虚拟机中,你需要在云服务器的安全组中放行一些关键端口,确保外部或本地的 Java 应用可以正确访问 Docker 容器中的 HBase 服务。

1. HBase Master 端口

  • 默认端口:16000
  • 作用:HBase Master 管理端口,管理整个 HBase 集群,包括元数据、区域分配等。这个端口可能不直接对外暴露,但在某些管理操作或客户端与 Master 通信时可能需要开放。

2. HBase Master Web UI 端口

  • 默认端口:16010
  • 作用:提供 HBase Master 的 Web 管理界面,通过浏览器访问 HBase 集群的状态、日志、监控信息等。可选放行,仅当你需要通过 Web 访问 UI 时放行。

3. HBase RegionServer 端口

  • 默认端口:16020
  • 作用:这是 HBase RegionServer 的主要通信端口,RegionServer 负责管理 HBase 表中的数据区域(Region)。通过 Java API 进行读写操作时,Java 客户端会通过该端口与 HBase 的 RegionServer 通信,因此必须放行此端口。

4. HBase RegionServer Web UI 端口

  • 默认端口:16030
  • 作用:提供 RegionServer 的 Web 管理界面,通过浏览器查看单个 RegionServer 的状态和性能信息。这个端口一般用于管理和监控,如果不需要 Web UI,可以不用放行。

5. Zookeeper 客户端端口

  • 默认端口:2181
  • 作用 :Zookeeper 是 HBase 的核心协调服务,负责元数据管理和节点的协调。Java 客户端通过 Zookeeper 获取 HBase 集群的位置信息,因此必须放行 Zookeeper 的客户端端口 2181

6. HBase Thrift 端口

  • 默认端口:9090
  • 作用:如果你通过 Thrift 服务访问 HBase,那么需要开放 Thrift 端口。Thrift 提供了跨语言的访问接口(非 Java 客户端)。如果你只使用 Java API,不需要 Thrift,可以不用放行此端口。

7. HBase REST 端口

  • 默认端口:8080
  • 作用:HBase 提供的 REST API 端口,允许通过 HTTP 进行访问。如果不使用 REST API,可以不放行此端口。

8. Hadoop HDFS 相关端口

HBase 通常运行在 Hadoop HDFS 上,因此,如果你的 HBase 集群依赖 HDFS 存储,那么你还需要确保以下 Hadoop 端口开放:

  • NameNode RPC 端口 :默认 8020
  • NameNode Web UI 端口 :默认 50070
  • DataNode 通信端口 :默认 50010
  • SecondaryNameNode Web UI 端口 :默认 50090

9. Docker 容器与外部网络通信

当 HBase 部署在 Docker 容器中时,你需要将上述端口通过 Docker 映射到宿主机。例如:

复制代码

bash

复制代码

docker run -d --name hbase-container \ -p 16000:16000 -p 16010:16010 \ -p 16020:16020 -p 16030:16030 \ -p 2181:2181 \ hbase:latest

通过这种方式,Docker 内的 HBase 服务会通过宿主机的相应端口对外提供服务。

推荐开放的必要端口

如果你通过 Java API 进行访问,通常只需要放行以下关键端口:

  • 2181(Zookeeper 客户端端口)
  • 16020(HBase RegionServer 通信端口)

其他端口(如 Web UI、Thrift、REST 端口)可根据你的实际需求放行。

总结

在云服务器的安全组中,最小化的端口放行配置应该包含:

  1. 16020:HBase RegionServer 通信端口(Java API 访问 HBase 的必需端口)。
  2. 2181:Zookeeper 客户端端口(HBase 集群元数据管理)。

根据需求,其他端口(如管理 Web UI、Thrift、REST)可以按需放行。

相关推荐
孙克旭_17 分钟前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
总有刁民想爱朕ha1 小时前
零基础搭建监控系统:Grafana+InfluxDB 保姆级教程,5分钟可视化服务器性能!
运维·服务器·grafana
Shartin2 小时前
Can201-Introduction to Networking: Application Layer应用层
服务器·开发语言·php
apihz3 小时前
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
android·服务器·开发语言·网络·数据库·网络协议·tcp/ip
乌云暮年3 小时前
Linux常用命令
linux·服务器·ssh·php
潘晓可3 小时前
Docker部署Nginx代理多个服务:公网域名与内网IP场景全解
nginx·docker·nginx proxy
wanhengidc3 小时前
企业选择大带宽服务器租用的原因有哪些?
运维·服务器
egoist20235 小时前
【Linux仓库】虚拟地址空间【进程·陆】
linux·运维·服务器·操作系统·进程·虚拟地址空间·fork
素雪风华5 小时前
Jenkins+Gitee+Docker容器化部署
java·docker·gitee·jenkins·springboot·持续部署