HBase on Sql客户端操作指南

举报
那人好像一条狗~ 发表于 2020/05/08 15:12:02 2020/05/08
【摘要】 背景 为了方便用户能够像操作传统关系型数据库一样地操作HBase,我们可以以Phoenix为基础并结合其他工具分别在Linux和Windows环境上利用SQL语句来操作HBase,如创建表、数据写入、数据查询等。1 Linux客户端篇1.1 环境准备1.1.1 创建CloudTable集群并开启Lemon特性 登录华为云官网,选择表格存储服务 CloudTable,进入集群模式并购买集群。...

背景

  为了方便用户能够像操作传统关系型数据库一样地操作HBase,我们可以以Phoenix为基础并结合其他工具分别在LinuxWindows环境上利用SQL语句来操作HBase,如创建表、数据写入、数据查询等。

1 Linux客户端篇

1.1 环境准备

1.1.1 创建CloudTable集群并开启Lemon特性

 登录华为云官网,选择表格存储服务 CloudTable,进入集群模式并购买集群。

 注意:需要勾选Lemon高级特性;如果在创建集群时没有勾选,可以在集群创建完成后,再开启Lemon

image.png

image.png

image.png

1.1.2 创建Linux ECS并绑定公网EIP

 1)选择弹性云服务器 ECS并购买云服务器,在选择镜像时要选择公共镜像,操作系统为LinuxCentOS

image.png

2)在创建ECS时,要确保虚拟私有云VPC、网卡子网、安全组与1.1.1章节中CloudTable集群保持一致,并且需要为安全组按需配置出入规则,否则会出现网络无法访问的问题。为了能在公网直接访问该ECS,用户在创建ECS时可以勾选现在购买弹性公网IP或者在ECS创建完成后再为该ECS绑定一个弹性公网IP

 CloudTable集群:

image.png

ECS:

image.png

3)当ECS创建完成后,用户可以利用xshellputty等工具登录到该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

image.png

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>,我们任意选择其中一个进行连接即可

image.png


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.12.1.2 2.1.3章节。

如果采用第(2)种方案,则环境准备需要完成2.1.12.1.4 2.1.52.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

 例如:

image.png

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

image.png

image.png

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 ClientWindows客户端jar 包。当前最新为3.9.1版本。

image.png

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文件

image.png

可以直接点击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

image.png

2.2.5 配置新的Driver

 在弹出的Add Driver窗口中设置相应的Driver Name Example URLExample 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

image.png

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

image.png

2.2.7 配置Driver

 在弹出的Add Alias窗口中设置相应的Alias Name DirverURLUserNamePassword。其中:

Driver选择2.2.5章节中创建的DriverURL则利用选中的Driver对应的模板Example URL并根据真实的Lemon URL及端口号Port来构造,UserNamePassword直接填admin即可。

image.png

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则说明配置正确。

image.png

2.2.9 执行创表、数据写入、数据查询

image.png

分别执行以下的SQL语句:

create table person(id integer not null primary key, name varchar, age integer);

upsert into person values(1, 'zhangsan',18);

select * from person;

 也可以直接通过可视化界面查看当前的表及表中数据

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。