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

相关推荐
藥瓿亭24 分钟前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_8097983228 分钟前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
嵌入式大圣31 分钟前
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
运维·docker·容器
玩转4G物联网33 分钟前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
派阿喵搞电子1 小时前
Ubuntu下有关UDP网络通信的指令
linux·服务器·网络
程序员JerrySUN1 小时前
全面理解 Linux 内核性能问题:分类、实战与调优策略
java·linux·运维·服务器·单片机
Theodore_10221 小时前
大数据(2) 大数据处理架构Hadoop
大数据·服务器·hadoop·分布式·ubuntu·架构
huangyuchi.2 小时前
【Linux】LInux下第一个程序:进度条
linux·运维·服务器·笔记·进度条·c/c++
蔡蓝2 小时前
设计模式-建造者模式
服务器·设计模式·建造者模式
搬码临时工2 小时前
外网访问内网服务器常用的三种简单操作步骤方法,本地搭建网址轻松让公网连接
服务器·网络·智能路由器