配置 Apache Impala

针对 分析服务器 数据库数据源或 HCatalog 数据源在 Cloudera 上运行时,支持 Apache Impala (无论 Impala 是否启用了 SSL)。

为 Apache Impala 数据创建数据库数据源

  1. 在主 Analytic Server " 数据源 " 页面上,单击 新建 以创建新的数据源。 系统将显示“新建数据源”对话框。
  2. 新建数据源字段中输入相应的名称,选择 Database 作为内容类型值,然后单击确定
  3. 打开数据库选择部分并输入以下信息。
    数据库:
    从下拉菜单中选择 Impala
    服务器地址:
    输入托管 Impala 守护程序的服务器的 URL。 当为 Analytic Server启用 Kerberos 时,需要标准域名。
    服务器端口:
    输入 Impala 数据库侦听的端口号。
    数据库名称:
    输入要连接到的数据库的名称。
    用户名:
    输入有权登录到 Impala 数据库的用户名。
    密码:
    输入相应的用户名密码。
    表名称:
    输入要使用的数据库中的表的名称。 单击选择以手动选择文件。
    最大并发读取数:
    输入可以从 Analytic Server 发送到要从数据源中指定的表读取的数据库的并行查询数的限制。
  4. 在输入所需信息后,单击保存

为 Apache Impala 数据创建 HCatalog 数据源

  1. 在主 Analytic Server " 数据源 " 页面上,单击 新建 以创建新的数据源。 系统将显示“新建数据源”对话框。
  2. 新建数据源字段中输入相应的名称,选择 HCatalog 作为内容类型值,然后单击确定
  3. 打开数据库选择部分并输入以下信息。
    数据库:
    从下拉菜单中选择缺省
    表名称:
    输入要使用的数据库中的表的名称。
    HCatalog 模式
    选择 HCatalog 元素选项,然后选择相应的 HCatalog 字段映射选项。
  4. 在输入所需信息后,单击保存

连接到支持 SSL 的 Apache Impala 数据

  1. 在 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)。
  2. Analytic Server 主机上,将 *.crf 文件 (用于启用 Impala SSL) 导入到 *.jks 文件中。 该文件可以是 cacerts 文件(例如 /etc/pki/java/cacerts)或任何其他 *.jks 文件。
  3. Analytic Server 主机上,通过追加以下 jdbcurl 键值来更新 Impala 配置文件 (impala.properties):
    SSL=1;AllowSelfSignedCerts=1;CAIssuedCertNamesMismatch=1;
    注: 使用 *.jks 文件 (cacerts 除外) 时,还需要指定以下内容:
    SSLTrustStore=<your_pks_file>;SSLTrustStorePwd=<password_for_pks_file>;
  4. 在 Cloudera Manager 控制台中重新启动 Analytic Server

更新 Impala JDBC Connector for Cloudera Enterprise

更新 Impala JDBC Connector for Cloudera Enterprise 可避免导出到 Impala 数据源时花费过长时间的情况。

  1. https://www.cloudera.com/downloads/connectors/impala/jdbc/2-6-15.html下载 Cloudera Enterprise 的 JDBC 连接器 2.6.15 。
  2. 删除 /usr/share/jdbc 文件夹中旧的 Impala JDBC 驱动程序文件。
  3. 解压缩 JDBC Connector 2.6.15 for Cloudera Enterprise 下载文件,将文件 ImpalaJDBC41.jar 复制到 /usr/share/jdbc
  4. 更新以下文件:/opt/cloudera/parcels/AnalyticServer/ae_wlpserver/usr/servers/aeserver/configuration/database/impala.properties
    1. 将第 20 行从 jdbcclass = com.cloudera.impala.jdbc4.Driver 更改为 jdbcclass = com.cloudera.impala.jdbc.Driver
    2. 将第 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;
  5. 在 Cloudera Manager 的 Analytic Server Advanced Configuration 片段 (安全阀) for analyticserver-conf/config.properties 部分中添加 db.writer.batch.size=100