云服务器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)可以按需放行。

相关推荐
(⊙o⊙)~哦16 分钟前
linux 解压缩
linux·运维·服务器
最新小梦1 小时前
Docker日志管理
运维·docker·容器
友友马3 小时前
『 Linux 』HTTP(一)
linux·运维·服务器·网络·c++·tcp/ip·http
重生之我在20年代敲代码3 小时前
HTML讲解(一)body部分
服务器·前端·html
ZHOU西口3 小时前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui
清水白石0083 小时前
C++使用Socket编程实现一个简单的HTTP服务器
服务器·c++·http
lgbisha4 小时前
828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台
低代码·docker·华为云
记得开心一点嘛4 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker
GG_Bond194 小时前
【项目设计】Facial-Hunter
服务器·人工智能
Tak1Na4 小时前
2024.9.18
linux·运维·服务器