如何在CentOS上使用HBase Shell进行操作
导读:1. 前置准备:安装Java环境 HBase依赖Java运行环境,需先安装Java 1.8及以上版本(推荐OpenJDK)。在CentOS终端执行以下命令安装: sudo yum install java-1.8.0-openjdk-dev...
1. 前置准备:安装Java环境
HBase依赖Java运行环境,需先安装Java 1.8及以上版本(推荐OpenJDK)。在CentOS终端执行以下命令安装:
sudo yum install java-1.8.0-openjdk-devel -y
安装完成后,通过java -version
验证安装是否成功。
2. 下载并安装HBase
从Apache HBase官网下载稳定版本(如2.4.9),解压至指定目录(如/opt
):
wget https://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz
tar -xzvf hbase-2.4.9-bin.tar.gz -C /opt
为方便使用,可设置环境变量(可选):
echo 'export HBASE_HOME=/opt/hbase-2.4.9' >
>
~/.bashrc
echo 'export PATH=$PATH:$HBASE_HOME/bin' >
>
~/.bashrc
source ~/.bashrc
3. 配置HBase
编辑HBase配置文件hbase-site.xml
(位于$HBASE_HOME/conf
目录),添加核心配置:
<
configuration>
<
!-- 指定HBase数据存储路径(本地文件系统,伪分布式模式下) -->
<
property>
<
name>
hbase.rootdir<
/name>
<
value>
file:///opt/hbase-2.4.9/data<
/value>
<
/property>
<
!-- 开启分布式模式 -->
<
property>
<
name>
hbase.cluster.distributed<
/name>
<
value>
true<
/value>
<
/property>
<
!-- 配置ZooKeeper连接(单机模式下可指向本地) -->
<
property>
<
name>
hbase.zookeeper.quorum<
/name>
<
value>
localhost<
/value>
<
/property>
<
property>
<
name>
hbase.zookeeper.property.clientPort<
/name>
<
value>
2181<
/value>
<
/property>
<
/configuration>
4. 启动HBase集群
进入HBase的bin
目录,执行启动脚本:
cd /opt/hbase-2.4.9/bin
./start-hbase.sh
启动后,可通过jps
命令查看HMaster进程是否运行(表示集群启动成功)。
5. 进入HBase Shell
在bin
目录下执行以下命令进入交互式Shell:
./hbase shell
进入后,会显示HBase Shell提示符(如hbase(main):001:0>
)。
6. 常用HBase Shell操作
- 查看帮助:输入
help
查看所有命令,help 'create'
查看特定命令详情。 - 查看集群状态:
status
(显示HMaster、RegionServer数量及负载)。 - 查看HBase版本:
version
(如2.4.9, rUnknown, ...
)。 - 创建表:语法为
create '表名', '列族1', '列族2'
,例如:create 'student', 'info', 'score'
- 插入数据:语法为
put '表名', '行键', '列族:列限定符', '值'
,例如:put 'student', '001', 'info:name', '张三' put 'student', '001', 'score:math', '90'
- 查询数据:
- 查询单行:
get '表名', '行键'
(如get 'student', '001'
); - 全表扫描:
scan '表名'
(如scan 'student'
); - 指定列族/列限定符:
scan 'student', { COLUMNS => ['info']}
(仅查询info
列族)。
- 查询单行:
- 删除数据:
- 删除指定单元格:
delete '表名', '行键', '列族:列限定符'
(如delete 'student', '001', 'score:math'
); - 删除整行:
deleteall '表名', '行键'
(如deleteall 'student', '001'
)。
- 删除指定单元格:
- 修改表结构:
- 添加列族:
alter '表名', '列族名'
(如alter 'student', 'address'
); - 删除列族:
alter '表名', { NAME => '列族名', METHOD => 'delete'}
(如alter 'student', { NAME => 'address', METHOD => 'delete'}
)。
- 添加列族:
- 删除表:需先禁用表,再删除:
disable 'student' drop 'student'
- 退出Shell:输入
exit
或quit
。
7. 停止HBase集群
在终端(非Shell内)执行以下命令停止集群:
cd /opt/hbase-2.4.9/bin
./stop-hbase.sh
注意事项
- 若需远程连接HBase,需修改
hbase-site.xml
中的hbase.zookeeper.quorum
为远程ZooKeeper地址,并确保防火墙开放对应端口(如2181); - 生产环境中建议使用HDFS作为
hbase.rootdir
(需提前安装并配置HDFS); - 执行操作前,可通过
list
命令查看现有表,避免误操作。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在CentOS上使用HBase Shell进行操作
本文地址: https://pptw.com/jishu/725163.html