如何在docker上面使用hbase shell

在新公司上班,hbase是cdh6.3.2安装在docker上面,如何直接在shell上面使用hbase shell是访问不到的。使用教程如下:

要在Docker上使用CDH 6.3.2中的HBase shell,你需要按照以下步骤操作:

步骤1:启动HBase服务

  1. 确保你的Docker环境已经启动,并且CDH 6.3.2的HBase服务已经随着CDH的安装被正确配置和启动。这通常通过Cloudera Manager完成,它提供了一个用户界面来管理CDH集群中的所有服务。
  2. 如果HBase服务尚未启动,你可以使用Cloudera Manager启动HBase Master和HBase RegionServer服务。

步骤2:进入HBase Shell

  1. 确定HBase服务运行正常后,使用Docker exec命令进入到运行HBase的容器中:docker exec -it <container_name_or_id> /bin/bash请将<container_name_or_id>替换为实际的容器名称或ID。
  2. 在容器内部,你可以使用HBase shell命令来启动HBase的交互式命令行界面:hbase shell

步骤3:使用HBase Shell命令

在HBase shell中,你可以执行多种操作,例如:

  • 创建表create 'table_name', 'column_family'
  • 列出表list
  • 插入数据put 'table_name', 'row_id', 'column_family:column', 'value'
  • 获取数据get 'table_name', 'row_id'
  • 扫描表scan 'table_name'
  • 禁用表disable 'table_name'
  • 启用表enable 'table_name'
  • 删除表drop 'table_name'

示例:在HBase shell中创建表并插入数据

  1. 启动HBase shell。
  2. 创建一个名为my_table的表,使用名为cf的列族:create 'my_table', 'cf'
  3. my_table表中插入一行数据,行键为row1,列族为cf,列名为data,值为my_valueput 'my_table', 'row1', 'cf:data', 'my_value'
  4. 扫描my_table表以查看数据:scan 'my_table'
  5. 退出HBase shell:exit

注意事项:

  • 请确保你有权限访问Docker容器以及HBase服务。
  • 根据你的CDH版本和配置,某些命令和文件路径可能略有不同。
  • 确保在操作过程中遵循安全最佳实践,如使用安全的密码和权限。

在上面步骤2如果不知道HBase的

container_name_or_id ,可以用下面的方法:

要查看 Docker 容器的 ID 或名称,您可以使用以下命令:

复制代码
docker ps 

这将显示当前正在运行的 Docker 容器列表,包括容器的 ID、名称、状态等信息。您可以在列表中找到正在运行的 HBase 容器的 ID 或名称。

如果您有多个容器在运行,并且需要筛选特定的容器,您可以使用 grep 命令来过滤结果,例如:

复制代码
docker ps | grep hbase 

这将仅显示包含 "hbase" 字符串的容器信息,以帮助您找到 HBase 容器的 ID 或名称。实际上关键字可能是cdh

一旦找到了容器的 ID 或名称,您可以将其替换到 <container_id_or_name> 的位置,并继续执行进入容器的命令。

相关推荐
zfoo-framework3 小时前
docker compose安装gitea实现公司内部开发git私有仓库
docker·容器·gitea
无巧不成书02184 小时前
基于WSL 2的Docker远程开发全栈实战指南
运维·docker·容器·docker desktop·wsl 2·vs code远程开发·容器化开发
Renhao-Wan4 小时前
Docker 核心原理详解:镜像、容器、Namespace、Cgroups 与 UnionFS
java·后端·docker·容器
赵庆明老师4 小时前
Linux Docker打包
linux·运维·docker
Eloudy4 小时前
docker pull ubuntu:22.04 失败的解决记录
运维·docker·容器
taWSw5OjU5 小时前
Docker] Docker中`overlay2`磁盘占用爆满的清理方案
docker·容器·eureka
wwj888wwj20 小时前
Docker基础(复习)
java·linux·运维·docker
DONG99921 小时前
配置docker代理
docker·容器
怎么就重名了21 小时前
docker可以动态修改端口映射吗
运维·docker·容器
JEECG低代码平台1 天前
敲敲云零代码平台一键部署实战:命令安装 vs Docker 安装
运维·docker·容器