Impala安装后的配置(翻译)

Impala安装后的配置

本章将介绍Cloudera Impala中强制性的以及推荐的配置。如果使用Cloudera Manager安装的Impala,那么其中一些配置已经自动设置完成; 你仍需要手工设置 short-circuit 读。假如不是使用Cloudera Manager安装的Impala,或者享有自定义环境设置,参照本文修改设置。

在某些情况下,依次按照Impala、CDH、Cloudera Manager的级别,你可能需要在了Cloudera Manager中的Impala配置页面上的“Safety Value”的字段之一添加特定组件的配置细节(In some cases, depending on the level of Impala, CDH, and Cloudera Manager, you might need to add particular component configuration details in one of the “Safety Valve” fields on the Impala configuration pages within Cloudera Manager)。

  • 你必须启用 short-circuit 读,无论是否使用 Cloudera Manager 安装的 Impala 。
  • 假如不是受Cloudera Manager管理的 Impala 环境,可以考虑启用块位置跟踪(block location tracking) 和本地校验来提升性能
  • 假如使用Cloudera Manager部署的 Impala,参照测试Impala性能章节来确定合适的配置

强制设置:Short-Circuit 读

启用 short-circuit 读能允许 Impala 直接从文件系统中读取数据。这消除了与DataNodes的沟通,提升了性能。这一设置同样最小化了数据的额外副本的数量(This setting also minimizes the number of additional copies of data)。Short-circuit 读需要服务器端和客户端的libhadoop.so (参见Hadoop本地库) 可以访问。假如使用tarball方式安装,则 libhadoop.so 默认不可用,必须使用 .rpm, .deb, 或parcel 方式来安装以便启用 short-circuit 方式本地读取。

注意:假如使用Cloudera Manager 4.5.2及以上版本,你通过设置用户界面中的复选框就可以启用 short-circuit 读。而在一些之前的版本中,即使已经选中了该复选框,Impala 的配置步骤仍然是必需的。

Cloudera强烈推荐在CDH 4.2及以上版本中使用Impala,最好是最新版本 CDH 4.3(此处的最新应是原英文文档发布时的的最新版本,现在最新版本已经是4.5)。在CDH 4.1中,Impala不支持short-circuit读,为了最佳性能,应升级到 CDH 4.3。不同版本的CDH配置 short-circuit 读的方法不同,选择下面适合你的环境的设置:

在CDH 4.2及以上版本设置DataNode支持short-circuit读:

  1. 在所有Impala 节点,修改hdfs-site.xml添加如下属性:

    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
    


    <name>dfs.domain.socket.path</name>
    <value>/var/run/hadoop-hdfs/dn._PORT</value>
    


    <name>dfs.client.file-block-storage-locations.timeout</name>
    <value>3000</value>
    

    注意:上面的 text PORT 只是用来展示,不需要替换成对应的数字(The text PORT appears just as shown; you do not need to substitute a number)

  2. 假如 /var/run/hadoop-hdfs/ 是组可写,确认 root 在此组中

    Note: 假如你准备启用了块位置跟踪(block location tracking),你可以跳过复制配置文件,重启DataNode,跳到 可选:块位置跟踪(Block Location Tracking) 部分。配置 short-circuit 读和块位置跟踪(block location tracking)需求相同的复制文件、重启服务的过程,因此你可以在完成所有配置后再执行。无论你现在重启服务或者等配置完块位置跟踪后重启,short-circuit 读都只会在完成最终的步骤后生效。

  3. 从Hadoop配置目录复制客户端的core-site.xml、hdfs-site.xml文件到Impala配置目录。Impala的默认配置目录是/etc/impala/conf。

  4. 完成以上修改,重启所有的DataNode。

在CDH 4.1设置DataNode支持short-circuit读:

注意: Cloudera强烈推荐在CDH 4.2及以上版本中使用Impala,最好是最新版本 CDH 4.3。在CDH 4.1中,Impala不支持short-circuit读,为了最佳性能,应升级到 CDH 4.3。

  • 通过在Impala core-site.xml 文件中添加设置来启用 short-circuit 读。
    • 假如你是使用Cloudera Manager安装的 Impala,short-circuit读应当已经正确的配置,但你可以通过检查默认放在/etc/impala/conf下的core-site.xml文件内容来了解
    • 假如使用包而不是Cloudera Manager安装的,应创建 core-site.xml 文件。通过复制其他运行hadoop服务的机器上的core-site.xml客户端配置,很容易得到。这一文件必须复制的Impala配置目录。它是由环境变量中的 IMPALA_CONF_DIR 设置的,默认是/etc/impala/conf。应检查IMPALA_CONF_DIR 环境变量的值确定Impala配置目录。
      注意:假如 Impala 配置目录不存在,创建并添加 core-site.xml 文件

添加下面的信息到core-site.xml文件:

<property>
    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
</property>

Note: 对于Cloudera Manager管理的Impala中,在Impala dialogs对话框中,设置 HDFS Safety Valve 字段。

  • 修改每一DataNode的 hdfs-site.xml 文件:


    dfs.client.use.legacy.blockreader.local
    true


    dfs.datanode.data.dir.perm
    750


    dfs.block.local-path-access.user
    impala

    <name>dfs.client.file-block-storage-locations.timeout</name>
    <value>3000</value>
    

    注意:在前面的例子里,dfs.block.local-path-access.user设置运行 impalad 进程的用户,默认是 impala 用户。

  • 使用 usermod 将本地接入用户添加到相关的HDFS组(Use usermod to add users requiring local block access to the appropriate HDFS group)。例如,假如dfs.block.local-path-access.user属性的值是impala,应当把impala用户添加到 hadoop HDFS 组。

    $ usermod -a -G hadoop impala

注意:,默认的HDFS 组是hadoop,但也可能有的环境使用其他的组。使用Cloudera Manager admin console来确定HDFS 组的名称, 点击Services=>HDFS=>Configuration,在Service-Wide里,点击左侧的Advanced,其中Shared Hadoop Group Name 属性即使用的组名。
Note: 假如你准备启用了块位置跟踪(block location tracking),你可以跳过复制配置文件,重启DataNode,跳到 可选:块位置跟踪(Block Location Tracking) 部分。配置 short-circuit 读和块位置跟踪(block location tracking)需求相同的复制文件、重启服务的过程,因此你可以在完成所有配置后再执行。无论你现在重启服务或者等配置完块位置跟踪后重启,short-circuit 读都只会在完成最终的步骤后生效。

  • 从Hadoop配置目录复制客户端的core-site.xml、hdfs-site.xml文件到Impala配置目录。Impala的默认配置目录是/etc/impala/conf。
  • 完成以上修改,重启所有的DataNode。

可选:块位置跟踪(Block Location Tracking)

启用块位置元数据,Impala可以知道数据块位于哪一个硬盘,从而更好地利用硬盘。

启用块位置跟踪:

  1. 对每一DataNode,在hdfs-site.xml中添加以下内容:


    dfs.datanode.hdfs-blocks-metadata.enabled
    true

  2. 从Hadoop配置目录复制客户端的core-site.xml、hdfs-site.xml文件到Impala配置目录。Impala的默认配置目录是/etc/impala/conf。

  3. 完成以上修改,重启所有的DataNode。

可选:本地校验和

启用了本地校验和,如果本地的计算校验和的库可用,则Impala会使用经过优化的本地库来计算校验和。

启用本地校验和:

假如是使用包安装的CDH,那本地校验和库已经安装并正确的设置了。这时候,无需额外的步骤。相反,假如使用其他方式安装,如tarballs,因为缺少共享对象,本机校验和可能不可用。在Impala 日志中查找"Unable to load native-hadoop library for your platform… using builtin-java classes where applicable"信息,有则标志本机校验和不可用。应构建并安装libhadoop.so (参见Hadoop本地库)来启用本地校验和。

你可能感兴趣的:(Impala安装后的配置(翻译))