1. 概述编辑
FineDataLink 支持连接Apache Impala,进行定时任务读取和数据服务发布。
2. 准备工作编辑
2.1 版本和驱动
下载驱动,并将其上传至 FineDataLink,如何上传可参见:驱动管理 第 2 节
支持的数据库版本 | 驱动包链接 |
---|---|
Impala 2.2 Impala 2.3 Impala 2.8 Impala 2.9 Impala 2.10 Impala 3.4 Impala 4.1 | |
Impala 2.10 kudu1.5 |
ClouderaImpalaJDBC41_2.5.43.rar |
2.2 收集连接信息
在连接数据库之前,请收集以下信息:
数据库所在服务器的 IP 地址和端口号;
数据库的名称;
若是用户名密码认证,需要收集用户名和密码;若是 Kerberos 认证,需要收集客户端 principal 和 keytab 密钥路径;
3. 具体连接步骤编辑
1)以管理员身份登录 FineDataLink ,点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接管理权限
2)选择 APACHE IMPALA 图标,如下图所示:
3)驱动切换为「自定义」选择 2.1 节上传的驱动,然后输入 2.2 节的连接信息。若用户需要在直连版本下使用该数据连接,需要在 URL 后增加后缀参数 ;UseNativeQuery=1 ,如下图所示:
Kerberos 认证方式详情可参见:数据连接 kerberos 认证
若 Impala 数据库存在认证,则需要在 URL 后加入AuthMech参数,不同参数值代表了不同的认证,如下表所示:
注:若数据库没有用户名密码时不需要加该参数。
值 | 含义 |
---|---|
3 | username and password(用户名密码认证) |
2 | username(用户名认证) |
1 | kerberos(Kerberos认证) |
0 | 不认证 |
URL 格式为:jdbc:impala://ip:port/dbname;authmech=n( n 可以等于 0、1、2、3 分别代表上面的认证方式)
用户名密码认证:AuthMech 参数值为 3 ,则 URL 格式为:jdbc:impala://ip:port/dbname;authmech=3
用户名认证:AuthMech 参数值为 2 ,则 URL 格式为:jdbc:impala://ip:port/dbname;authmech=2
Kerberos 认证:AuthMech 参数值为 1 ,则 URL 格式为:jdbc:impala://ip:port/dbname;authmech=1
若数据库的认证方式为 Kerberos 认证,除了要加 AuthMech 参数,需填入注册过 kdc 的客户端名称、keytab 密钥路径和 Kerberos 认证对应 URL(加上AuthMech、KrbHostFQDN、KrbServiceName 三个参数)
参数 | 值 | 含义 |
---|---|---|
AuthMech | 1 | Kerberos 认证 |
KrbHostFQDN | impala server 为 krb5.conf 文件中 admin_server 的值 | 指定连接哪台服务器的 Impala |
KrbServiceName | 对应的服务名 | 服务器的别名,请参见 参数含义 |
URL 格式为:jdbc:impala://ip:port/default;AuthMech=1;KrbHostFQDN=hostalias;KrbServiceName=impala
例如:jdbc:impala://192.168.5.127:21050/default;AuthMech=1;KrbHostFQDN=quickstart.cloudera;KrbServiceName=impala,具体请参见 数据连接Kerberos认证
4)点击「测试连接」,若连接成功则点击「保存」,如下图所示: