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

相关推荐
π大星星️35 分钟前
基于LNMP架构的个人博客系统部署
服务器·架构
撸码到无法自拔6 小时前
docker常见命令
java·spring cloud·docker·容器·eureka
菜菜why7 小时前
AutoDL租用服务器教程
服务器
IT专业服务商7 小时前
联想 SR550 服务器,配置 RAID 5教程!
运维·服务器·windows·microsoft·硬件架构
稳联技术8 小时前
Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
linux·服务器·网络
烟雨迷8 小时前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim
Bruk.Liu9 小时前
Linux 上安装RabbitMQ
linux·服务器·rabbitmq
UpUpUp……9 小时前
Linux--JsonCpp
linux·运维·服务器·c++·笔记·json
Willis_m10 小时前
Linux 服务器用 SSH 拉取多个 Git 工程
linux·服务器·git·ssh
紫金修道10 小时前
【Linux】在Arm服务器源码编译onnxruntime-gpu的whl
linux·服务器·arm开发