配置 Apache Impala
针对 分析服务器 数据库数据源或 HCatalog 数据源在 Cloudera 上运行时,支持 Apache Impala (无论 Impala 是否启用了 SSL)。
为 Apache Impala 数据创建数据库数据源
- 在主 Analytic Server " 数据源 " 页面上,单击 新建 以创建新的数据源。 系统将显示“新建数据源”对话框。
- 在新建数据源字段中输入相应的名称,选择 Database 作为内容类型值,然后单击确定。
- 打开数据库选择部分并输入以下信息。
- 数据库:
- 从下拉菜单中选择 Impala。
- 服务器地址:
- 输入托管 Impala 守护程序的服务器的 URL。 当为 Analytic Server启用 Kerberos 时,需要标准域名。
- 服务器端口:
- 输入 Impala 数据库侦听的端口号。
- 数据库名称:
- 输入要连接到的数据库的名称。
- 用户名:
- 输入有权登录到 Impala 数据库的用户名。
- 密码:
- 输入相应的用户名密码。
- 表名称:
- 输入要使用的数据库中的表的名称。 单击选择以手动选择文件。
- 最大并发读取数:
- 输入可以从 Analytic Server 发送到要从数据源中指定的表读取的数据库的并行查询数的限制。
- 在输入所需信息后,单击保存。
为 Apache Impala 数据创建 HCatalog 数据源
- 在主 Analytic Server " 数据源 " 页面上,单击 新建 以创建新的数据源。 系统将显示“新建数据源”对话框。
- 在新建数据源字段中输入相应的名称,选择 HCatalog 作为内容类型值,然后单击确定。
- 打开数据库选择部分并输入以下信息。
- 数据库:
- 从下拉菜单中选择缺省。
- 表名称:
- 输入要使用的数据库中的表的名称。
- HCatalog 模式
- 选择 HCatalog 元素选项,然后选择相应的 HCatalog 字段映射选项。
- 在输入所需信息后,单击保存。
连接到支持 SSL 的 Apache Impala 数据
- 在 Cloudera Manager 控制台中定义以下 Impala SSL 设置。
- 为 Impala 启用 TLS/SSL (client_services_ssl_enabled)
- 选择 Impala(服务范围)选项。
- Impala TLS/SSL 服务器证书文件(PEM 格式)(ssl_server_certificate)
- 输入自签名 PEM 格式的证书位置和文件名 (例如: /tmp/<user_name>/ssl/ll4200v21.crt)。
- Impala TLS/SSL 服务器专用密钥文件(PEM 格式)(ssl_private_key)
- 输入专用密钥,采用 PEM 格式,位置和文件名 (例如: /tmp/<user_name>/ssl/ll4200v21.key)。
- 在 Analytic Server 主机上,将 *.crf 文件 (用于启用 Impala SSL) 导入到 *.jks 文件中。 该文件可以是 cacerts 文件(例如 /etc/pki/java/cacerts)或任何其他 *.jks 文件。
- 在 Analytic Server 主机上,通过追加以下
jdbcurl键值来更新 Impala 配置文件 (impala.properties):SSL=1;AllowSelfSignedCerts=1;CAIssuedCertNamesMismatch=1;注: 使用 *.jks 文件 (cacerts 除外) 时,还需要指定以下内容:SSLTrustStore=<your_pks_file>;SSLTrustStorePwd=<password_for_pks_file>; - 在 Cloudera Manager 控制台中重新启动 Analytic Server 。
更新 Impala JDBC Connector for Cloudera Enterprise
更新 Impala JDBC Connector for Cloudera Enterprise 可避免导出到 Impala 数据源时花费过长时间的情况。
- 从 https://www.cloudera.com/downloads/connectors/impala/jdbc/2-6-15.html下载 Cloudera Enterprise 的 JDBC 连接器 2.6.15 。
- 删除 /usr/share/jdbc 文件夹中旧的 Impala JDBC 驱动程序文件。
- 解压缩 JDBC Connector 2.6.15 for Cloudera Enterprise 下载文件,将文件 ImpalaJDBC41.jar 复制到 /usr/share/jdbc。
- 更新以下文件:/opt/cloudera/parcels/AnalyticServer/ae_wlpserver/usr/servers/aeserver/configuration/database/impala.properties
- 将第 20 行从
jdbcclass = com.cloudera.impala.jdbc4.Driver更改为jdbcclass = com.cloudera.impala.jdbc.Driver - 将第 21 行从
jdbcurl = jdbc:impala://{db.servername}:{db.serverport}/{db.databasename};AuthMech=3;UID={db.username};PWD={db.password};useSasl=0;更改为jdbcurl = jdbc:impala://{db.servername}:{db.serverport}/{db.databasename};AuthMech=3;UID={db.username};PWD={db.password};TransportMode=binary;
- 将第 20 行从
- 在 Cloudera Manager 的 Analytic Server Advanced Configuration 片段 (安全阀) for analyticserver-conf/config.properties 部分中添加
db.writer.batch.size=100。