配置 Hadoop
您必须调整 Hadoop 配置设置,以将 Hadoop 安装与 InfoSphere® Information Server 相集成。
关于此任务
您可以在安装 InfoSphere Information Server 之前或之后执行此任务。
过程
- 调整 Hadoop 集群配置设置。 有关更新设置的信息,请参阅 Hadoop 分发版文档。您应该考虑调整以下设置:
表 1. Hadoop 集群配置设置 参数 参数描述 缺省值 建议值 yarn.log-aggregation-enable 管理 YARN 日志文件。如果希望日志文件存储在本地文件系统中,请将此参数设置为 false。如果此参数设置为 true,那么在作业完成后,日志文件会从本地文件系统移至 HDFS。 true false yarn.nodemanager.container-executor.class 由希望通过 CGroups 限制容器资源使用量的 Linux 用户使用。有关更多信息,请参阅 Using CGroups with YARN。
此参数位于 etc/hadoop/conf 目录下的 yarn-site.xml 中。 可以在 Ambari 或 Cloudera Manager 界面中全局更改此值。否则,必须对每个集群节点分别进行更改。
此参数的建议值为 org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor。
如果使用不带 Kerberos 的 HDFS,并为此参数设置了建议值,那么必须确保用户具有写入数据文件的正确许可权。
org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor. yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users 设置为 false 时,将 LinuxContainerExecutor 配置为以提交作业的用户身份运行。 yarn.nodemanager.log.retain-seconds 指定 Hadoop 保留容器日志的持续时间(以秒为单位)。如果日志文件开始使用大量节点,请减小此参数的值。 10,800 yarn.nodemanager.pmem-check-enabled 确定容器是否存在物理内存限制。如果此参数设置为缺省值 true,那么当容器使用的物理内存超过指定的限制时,作业将停止。如果不希望作业在容器耗用的内存超过其分配内存时失败,请将此参数设置为 false。
如果此参数设置为 true,请确保缺省设置 APT_YARN_CONTAINER_SIZE 适用于您的大多数作业。对于耗用大量内存的作业(例如连接或查找),请将 APT_YARN_CONTAINER_SIZE 设置为足够大的值,以便作业不会停止。
您还可以考虑将 APT_YARN_CONTAINER_SIZE_AUTO 设置为 true,以允许 InfoSphere DataStage® 估算所需容器大小。
true yarn.nodemanager.resource.memory-mb 设置可以为容器分配的物理内存量。检查此值,并根据集群中数据节点的可用内存来验证是否准确设置了此值。如果此参数设置得不够高,那么在计算机上仍有大量内存可用的情况下,节点也会耗尽容器。 8192 MB yarn.nodemanager.vmem-check-enabled 确定容器是否存在虚拟内存限制。如果此参数设置为 true,那么当容器使用的虚拟内存超过指定的限制时,作业将停止。如果不希望作业在容器耗用的内存超过其分配内存时失败,请将此参数设置为 false。 true yarn.nodemanager.vmem-pmem-ratio 设置容器的虚拟内存与物理内存限制的比率。如果 yarn.nodemanager.vmem-check-enabled 设置为 true,那么容器耗用的虚拟内存相对于物理内存的比率大于指定比率时,YARN 可能会停止作业。值中的第一个数字是虚拟内存,第二个数字是物理内存。例如,缺省值 2.1 表示设置的比率是虚拟内存为物理内存的两倍。 2.1 yarn.resourcemanager.nodemanagers.heartbeat-interval-ms 控制并行作业的启动时间。对于节点数少于 50 个的集群,1000 毫秒通常过长,会导致并行作业的启动时间较长。可以将此值设置为 50 毫秒,以确保并行作业能及时启动。 1000 毫秒 建议值为 50 毫秒。 yarn.scheduler.capacity.maximum-am-resource-percent 指定集群中所有队列的可用于运行 Application Master 的最大资源百分比,并控制并发活动应用程序的数量。对每个队列的限制与其队列容量和用户限制成正比。此值指定为浮点数。例如,0.5 表示 50%。
可以通过设置 yarn.scheduler.capacity.queue-path.maximum-am-resource-percent 参数来针对单个队列覆盖此设置。
如果要并发运行许多作业,请增大缺省值。例如,如果您有 InfoSphere Data Click 活动,而该活动会转存到许多表并运行大量并发作业进程,那么应该设置更高的值。
不同 Hadoop 分发版的缺省值有所不同。 yarn.scheduler.capacity.queue-path.maximum-am-resource-percent 指定集群中单个队列的可用于运行 Application Master 的最大资源百分比,并控制并发活动应用程序的数量。将队列指定为参数名称的一部分,以替换变量 queue-path。此参数用于覆盖 yarn.scheduler.capacity.maximum-am-resource-percent,后者指定所有队列的最大百分比。 不同 Hadoop 分发版的缺省值有所不同。 yarn.scheduler.increment-allocation-mb 此值指示容器大小可以递增的量。如果提交的任务中资源请求数低于 minimum-allocation 值,那么请求会设置为 minimum-allocation 值。如果提交的任务中资源请求数不是 increment-allocation 值的倍数,那么请求数会增加到此递增参数值的最接近倍数。将此参数的值设置为小于或等于 yarn.scheduler.minimum-allocation-mb 参数的值。 512 MB(在 Cloudera 上) yarn.scheduler.minimum-allocation-mb 此参数帮助 InfoSphere Information Server 节约集群上的资源。简单的 InfoSphere Information Server 并行作业所需内存可能比运行此作业所需内存少得多,所以这会导致浪费集群上的资源。InfoSphere Information Server 并行进程的缺省容器大小为 64 MB。请考虑将此参数的值设置为此缺省值。 1024 MB(对于大多数 Hadoop 分发版) 建议值为 64 MB。 - 在集群上运行样本 MapReduce 作业,以验证该作业是否完成以及配置是否已成功更新。