HBase on Sql客户端操作指南
背景
为了方便用户能够像操作传统关系型数据库一样地操作HBase,我们可以以Phoenix为基础并结合其他工具分别在Linux和Windows环境上利用SQL语句来操作HBase,如创建表、数据写入、数据查询等。
1 Linux客户端篇
1.1 环境准备
1.1.1 创建CloudTable集群并开启Lemon特性
登录华为云官网,选择表格存储服务 CloudTable,进入集群模式并购买集群。
注意:需要勾选Lemon高级特性;如果在创建集群时没有勾选,可以在集群创建完成后,再开启Lemon。
1.1.2 创建Linux ECS并绑定公网EIP
(1)选择弹性云服务器 ECS并购买云服务器,在选择镜像时要选择公共镜像,操作系统为Linux如CentOS。
(2)在创建ECS时,要确保虚拟私有云VPC、网卡子网、安全组与1.1.1章节中CloudTable集群保持一致,并且需要为安全组按需配置出入规则,否则会出现网络无法访问的问题。为了能在公网直接访问该ECS,用户在创建ECS时可以勾选现在购买弹性公网IP或者在ECS创建完成后再为该ECS绑定一个弹性公网IP。
CloudTable集群:
ECS:
(3)当ECS创建完成后,用户可以利用xshell、putty等工具登录到该ECS上(需要使用绑定的弹性公网IP)。
1.1.3 一键安装部署HBase客户端
(1)登录到ECS后,需要在该ECS上安装部署HBase客户端,可参照如下文档一键式安装。 https://support.huaweicloud.com/en-us/usermanual-cloudtable/cloudtable010097.html
1.2 客户端下载、安装及使用
1.2.1 下载Phoenix客户端包
进入到phoenix官网下载,选择*HBase-1.3。
http://phoenix.apache.org/download.html
或在ECS上使用如下命令:
wget http://mirror.bit.edu.cn/apache/phoenix/apache-phoenix-4.14.1-HBase-1.3/bin/apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz
1.2.2 解压客户端tar.gz包
tar -zxvf apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz
1.2.3 使用客户端
cd apache-phoenix-4.14.1-HBase-1.3-bin/bin
./sqlline-thin.py <cloudtable-lemon-url>:<port>
关于<cloudtable-lemon-url>:<port>的获取可以查看1.1.1章节中创建的CloudTable集群的详细信息中的Lemon链接地址,当前Lemon链接地址中包含多个<cloudtable-lemon-url>:<port>,我们任意选择其中一个进行连接即可。
(4)查看数据库中有哪些表
!tables
(5)创建数据表
CREATE TABLE "liuqilei" ("time" VARCHAR, "vin" VARCHAR, "a038" VARCHAR, "a039" VARCHAR, "a040" VARCHAR CONSTRAINT rowkey PRIMARY KEY("time", "vin")) SPLIT ON ('50', '100');
(6)数据写入
UPSERT INTO "test" VALUES ('2019-03-08 10:00:00', 'IXX0M56GSRVQI9S1S', null, '1', '1');
(7)数据查询
SELECT * FROM "test";
(8)创建索引
CREATE INDEX "idx_test" ON "test"("vin");
(9)用户可以利用1.1.3章节中安装的HBase客户端,通过hbase shell命令查看创建的"test"数据表。
2 Windows客户端篇
2.1 环境准备
使用Windows客户端有两种方案:
(1)申请一台Linux ECS并为其绑定EIP,在客户自己本地的Windows机器上采用VPN的方式通过该Linux ECS连接到CloudTable内部,前提是客户自己本地的Windows上已经配置了Jave JDK;
(2)申请一台Windows ECS并为其绑定EIP,客户通过远程桌面连接的方式登录到该Windows ECS后,再在Windows ECS上进行操作。
如果采用第(1)方案,则环境准备需要完成2.1.1,2.1.2, 2.1.3章节。
如果采用第(2)种方案,则环境准备需要完成2.1.1,2.1.4, 2.1.5,2.1.6章节。
2.1.1 创建CloudTable集群并开启Lemon特性
直接参照1.1.1章节的内容。
2.1.2 创建Linux ECS并绑定公网IP
直接参照1.1.2章节内容。
2.1.3 配置vpn连接
参照如下文档:
https://bbs.huaweicloud.com/forum/thread-13371-1-1.html
2.1.4 创建Windows ECS并绑定公网EIP
(1)选择弹性云服务器 ECS并购买云服务器,在选择镜像时要选择公共镜像,操作系统为Windows。
例如:
(2)同样的,在创建ECS时,要确保虚拟私有云VPC、网卡子网、安全组与1.1.1章节中CloudTable集群保持一致,并且需要为安全组按需配置出入规则,否则会出现网络无法访问的问题。为了能在公网直接访问该ECS,用户在创建ECS时可以勾选现在购买弹性公网IP或者在ECS创建完成后再为该ECS绑定一个弹性公网IP,具体可以参照1.1.2章节第(2)步内容。
2.1.5 连接并登录Windows ECS
利用Windows自带的远程桌面连接工具,连接上面创建的Windows ECS。
2.1.6 Windows ECS配置Java JDK
登录成功后,需要先安装配置Java JDK
安装配置Java JDK的具体过程用户可自行上网查阅,在此不再赘述。
2.2 客户端工具下载、安装及使用
2.2.1 下载squirrel sql client工具
进入Squirrel sql官网:http://www.squirrelsql.org/, 并下载Squirrel SQL Client的Windows客户端jar 包。当前最新为3.9.1版本。
2.2.2 安装squirrel sql client工具
(1)打开Windows cmd命令行,进到squirrel-sql-3.9.1-standard.jar所在目录,执行如下命令:
java -jar squirrel-sql-3.9.1-standard.jar
(2)或者直接双击squirrel-sql-3.9.1-standard.jar文件
可以直接点击Nex选择默认配置。
2.2.3 配置squirrel sql client工具
将1.4.1章节中下载的apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz解压,并将解压目录中
的phoenix-4.14.1-HBase-1.3-thin-client.jar文件放到squirrel sql client安装目录的lib目录下,
如squirrel sql client安装目录为:C:\Program Files\squirrel-sql-3.9.1,
则将phoenix-4.14.1-HBase-1.3-thin-client.jar文件放到C:\Program Files\squirrel-sql-3.9.1\lib目录下。
2.2.4 使用squirrel sql client工具
双击squirrel sql client安装目录下的squirrel-sql.bat文件,启动squirrel sql client,
选择左侧的Drivers,并点击加号Create a new Driver。
2.2.5 配置新的Driver
在弹出的Add Driver窗口中设置相应的Driver Name, Example URL,Example URL只是一个URL模 板,并在Java Class Path中选择2.2.3章节中的phoenix-4.14.1-HBase-1.3-thin-client.jar,然后点击
List Drivers按钮,过一小段时候后观察最下方的Class Name对应的下拉菜单中是否有值,否则,
选择org.apache.phoenix.queryserver.client.Driver项,如果没有
则手动输入org.apache.phoenix.queryserver.client.Driver。
Example URL:jdbc:phoenix:thin:url=http://:;serialization=PROTOBUF
Java Class Path:C:\Program Files\squirrel-sql-3.9.1\lib\phoenix-4.14.1-HBase-1.3-thin-client.jar
Class Name:org.apache.phoenix.queryserver.client.Driver
2.2.6 创建新的Alias
选择左侧的Aliases,并点击加号Create a new Alias
2.2.7 配置Driver
在弹出的Add Alias窗口中设置相应的Alias Name, Dirver,URL,UserName及Password。其中:
Driver选择2.2.5章节中创建的Driver,URL则利用选中的Driver对应的模板Example URL并根据真实的Lemon URL及端口号Port来构造,UserName及Password直接填admin即可。
Driver: 2.2.5章节中创建的Driver
URL:jdbc:phoenix:thin:url=http://cloudtable-for-dat-lemon-2-1-OzWH5Rdy.cloudtable.com:8765;serialization=PROTOBUF
UserName:admin
Password:admin
2.2.8 测试配置是否正确
配置完成后,点击Add Alias弹出窗下方的Test按钮,测试配置是否正确,如果弹出Connection successful则说明配置正确。
2.2.9 执行创表、数据写入、数据查询
分别执行以下的SQL语句:
create table person(id integer not null primary key, name varchar, age integer);
upsert into person values(1, 'zhangsan',18);
select * from person;
也可以直接通过可视化界面查看当前的表及表中数据
- 点赞
- 收藏
- 关注作者
评论(0)