Lindorm使用教程
前提阿里Lindorm数据库是收费的,需在阿里云官网购买实例,链接:云原生多模数据库Lindorm1. 使用 Lindorm-cli 连接 LindormLindorm-cli类似于mysql的shell命令行,使用命令行连接数据库,具体操作见Lindorm-cli我这里用的宽表引擎,共有6中引擎,宽表引擎,时序引擎,搜索引擎,文件引擎,计算引擎,流引擎。详见Lindorm - 介绍1.1 进入实
前提
阿里Lindorm数据库是收费的,需在阿里云官网购买实例,链接:云原生多模数据库Lindorm
1. 使用 Lindorm-cli 连接 Lindorm
Lindorm-cli类似于mysql的shell命令行,使用命令行连接数据库,具体操作见 Lindorm-cli
我这里用的宽表引擎,共有6中引擎,宽表引擎,时序引擎,搜索引擎,文件引擎,计算引擎,流引擎。详见Lindorm - 介绍
1.1 进入实例详情页面
进入 Lindorm 控制台
点击 ID 进入实例详情
1.2 开通外网地址
点击左侧数据库连接
点击开通外网地址
点击后上方的实例状态会变成网络变更中,等待即可。
接下来配置IP白名单,此白名单为连接数据库的客户端IP地址
1.3 修改分组白名单
点击左侧访问控制,然后点击修改分组白名单
多个IP用英文逗号隔开
1.4 下载 Lindom-cli
接下来我们去下载Lindorm为我们提供的Lindorm-cli数据库连接工具,有Windows,Linux,Mac三个版本。下载地址:Lindorm-cli
根据自身情况选择不同版本,我这里选择 Linux 版的
1.5 使用连接命令
下载成功后使用以下命令连接,尖括号和里面的为需要替换的内容
./lindorm-cli -url <host:port> -username <用户名> -password <密码>
其中 url 为 实例详情 -> 数据库连接页面的公网,如下图所示:
username和password默认为root
1.6 测试
Lindorm-cli使用教程完毕
2. 使用 HBaseue Shell 连接宽表引擎
因为Lindorm宽表引擎兼容HBase,所以此功能相当于使用HBase Shell 连接HBase数据库,详情官方文档:HBaseue Shell连接并使用宽表引擎
2.1 Lindorm Shell 下载
进入Lindorm控制台实例详情,点击左侧数据库连接,点击 【Lindorm Shell 下载】
2.2 解压压缩包
将压缩包放在 Linux 系统下,执行以下命令解压HBaseue Shell压缩包
tar zxvf hbaseue-shell.tar.gz
此时会解压出名为alihbase-2.0.18的文件夹
2.3 配置连接参数
进入alihbase-2.0.18/conf目录,打开hbase-site.xml文件
vi hbase-site.xml
配置Lindorm实例的连接地址和用户名密码
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value>
</property>
<property>
<name>hbase.client.username</name>
<value>root</value>
</property>
<property>
<name>hbase.client.password</name>
<value>root</value>
</property>
</configuration>
说明
- hbase.zookeeper.quorum:填写为Lindorm宽表引擎的使用HBase Java API访问连接地址。
- hbase.client.username和hbase.client.password:填写访问Lindorm宽表的用户名和密码,如果您忘记密码可以通过宽表引擎的集群管理系统修改密码,具体操作请参见修改用户密码。
2.4 运行连接命令
通过HBaseue Shell访问Lindorm宽表引擎
进入alihbase-2.0.18/bin目录执行以下命令
./hbase shell
返回如下信息表示成功访问。
Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb 1 12:46:39 CST 2021
Took 0.0034 seconds
说明
- Shell的使用方法可以参见HBase Shell使用介绍。
- 通过HBaseue Shell连接Lindorm宽表引擎仅支持简单的DDL操作和数据读写操作,详情请参见使用限制。
3. 使用 Java API 连接 Lindorm
3.1 maven 依赖
<dependency>
<groupId>com.aliyun.lindorm</groupId>
<artifactId>lindorm-all-client</artifactId>
<version>2.0.4</version>
</dependency>
3.2 初始化 Lindorm 客户端
初始化 Lindorm 客户端。在项目中输入下述代码,然后根据下表描述修改代码
String LINDORM_JDBC_URL = "Lindorm宽表SQL的连接地址";
String LINDORM_USER = "user";
String LINDORM_PASSWORD = "password";
String USER_NAME = "Lindorm控制台获取的数据库用户名";
String PASSWORD = "Lindorm控制台获取的数据库密码";
Properties properties = new Properties();
properties.put(LINDORM_USER, USER_NAME);
properties.put(LINDORM_PASSWORD, PASSWORD);
//如果需要建连的时候指定对应的database(namespace),默认链接default database
properties.put("database", 业务想指定的database);
database 为数据库名,类型 mysql 的 database 概念,Lindorm 默认有两个 database,一个名为default,另一个名为lindorm。建数据库语法参考CREATE DATABASE
参数 | 示例值 | 获取方法 |
---|---|---|
LINDORM_JDBC_URL | jdbc:lindorm:table:url=http://ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30060 | Lindorm宽表SQL的连接地址,具体获取方法请参见访问实例。 |
USER_NAME | root | 如果您忘记用户名密码,可以通过Lindorm宽表引擎的集群管理系统修改密码,具体操作请参见修改用户密码。 |
PASSWORD | root | |
database | default | 表示用户首次链接时指定的database(namespace)。 |
3.3 示例代码
public static void main(String[]args) {
String LINDORM_JDBC_URL = "jdbc:lindorm:table:url=http://xxx-pub.lindorm.rds.aliyuncs.com:30060";
String LINDORM_USER = "user";
String LINDORM_PASSWORD = "password";
String USER_NAME = "root";
String PASSWORD = "root";
Properties properties = new Properties();
properties.put(LINDORM_USER, USER_NAME);
properties.put(LINDORM_PASSWORD, PASSWORD);
//如果需要建连的时候指定对应的database(namespace),默认链接default database
properties.put("database", "test");
java.sql.Connection connection = null;
try {
System.out.println("正在获取连接...");
connection = DriverManager.getConnection(LINDORM_JDBC_URL, properties);
System.out.println("连接成功");
String sqlCreate = "select id, name from test where id = '1'";
Statement statement = connection.createStatement();
//如果不指定schema默认是"default",可以使用statement.execute("use schema名字"); 进行切换schema。
ResultSet resultSet = statement.executeQuery(sqlCreate);
if (resultSet.next()) {
System.out.println("查询结果:" + resultSet.getString("id") + resultSet.getString("name"));
} else {
System.out.println("查询结果为空");
}
// //删除表
// String sqlDelete = "drop table " + tableName;
// Statement deletestatement = pconn.createStatement();
// int retDel = deletestatement.executeUpdate(sqlDelete);
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
具体请参考官方文档:通过Lindorm宽表SQL Java API连接并使用宽表引擎
更多推荐
所有评论(0)