—— UDH v1.0.1
目录
1. Llama 简介
L lama (Long-Lived Application Master) 是位于 Cloudera Impala 和 Hadoop YARN 之间 ,用于协调资源管理的 服务 系统 。在一个 Hadoop 集群 中, Impala 可以 通过 Llama 预约 、 使用 以及释放资源 分配, 以减少 执行 Impala 查询 时过多 的资源管理 用度 。 只有 在 Impala 中 启用资源管理,集群 中的 Llama 服务 才真正运作 。
默认情况下 , YARN 根据 MapReduce 工作的需要按位分配资源,而 Impala 则需要所有资源在同一时间可用 , 以保证查询的中间结果 能够 在不同节点间交换 , 而不需要 拖延 查询时间来等待新的资源分配, Llama 就是 为了在 每个 Impala 查询 开始执行前 就可 保证 其需要 的资源 都可用而 出现。
若一个 查询执行完毕, Llama 会将资源进行缓存, 确保 在执行 Impala 子查询 时 可以使用 。 这种 缓存 机制避免了每个查询 执行 前都需要进行新的资源请求 。 同时 , 如果 YARN 需要该资源用于其他工作, Llama 就会将这部分资源还给 YARN 。
需要注意的 是 : Llama 仅 支持 YARN ,不能与 MRv1 结合 使用 ,同时 , Llama 也是 通过 YARN 的配置文件与 Hadoop 进行 协作 的。
2. Llama 安装 配置 ( UDH )
利用 UDH 安装向导 可 将 Llama 与 其他服务一起安装,仅需要在 向导 的 “选择 服务 ” 步骤勾选 “ Llama ”服务, 按照 向导逐步 安装即可 , 无需更改配置参数及 文件 。
注意, 由于 Llama 主要服务于 Impala 和 Yarn 之间的协作 , 因此安装 Llama 必须确保 Impala 和 Yarn 服务 的 安装 , UDH 中 安装 Llama 服务 时将提示安装 Impala 和 Yarn 服务 。
其中 , Llama 安装 后相关配置文件 的 位置如下表所示:
文件 类型 |
存放 位置 |
二进制 文件 |
/usr/lib/llama / |
配置 文件 |
/etc/llama/conf / |
日志 文件 |
/var/log/llama/ |
PID 文件 |
/var/run/llama/ |
成功 安装 Llama 后,将在服务界面 查看 到 Llama 的相关信息 , 具体见在 以下 小节中介绍 。
2.1. Llama概要信息
UDH “ Llama 服务”界面 的 概要部分显示了 Llama Server 的运行状态 ( 如 下图 ) 。
2.2. Llama 配置 信息
下面 的表格列出一些 Llama 配置 项的基本设置, 用户 可根据具体集群环境设置 Llama 相关 的 一般及 高级的配置属性 。
Llama 设置: 一般
配置 项 |
说明 |
默认值 |
L lama Server 主机 |
用于运行 L lama Server 的 主机 |
运行 L lama Server 的 主机名 |
Llama 设置: 高级
配置 项 |
说明 |
默认值 |
L lama 日志路径 |
L lama 日志路径 |
/var/log/llama/ |
Llama PID 文件路径 |
Llama PID 文件路径 |
/var/run/llama/ |
llama.am.cache.enabled |
全局设置,说明 Llama 是否应该将分配的内存在释放时缓存 |
true |
llama.am.cache.eviction.policy.class |
缓存资源的回收机制, 超时回收机制回收在缓存中保留时间等于或大于时限的资源。 |
com.cloudera.llama.am.cache.ResourceCache$TimeoutEvictionPolicy |
llama.am.hadoop.user.name |
与 Yarn 互动时, Llama 使用的用户名。 |
llama |
llama.am.rm.connector.class |
支持使用 LlamaAM 实现。功能测试时可用: MockRMLlamaAMConnector |
com.cloudera.llama.am.yarn.YarnRMConnector |
llama.am.server.thrift.address |
LlamaAM server 监听的地址。 |
0.0.0.0:15000 |
3. Llama 使用
Llama 的使用主要通过 启用 Impala 资源管理 ( Resource Management ) 实现 。
为 Impala 设置资源 管理,需要启用 Impala 的配置 参数:
-enable_rm: 该 参数用于控制是否启用资源管理, 类型 为 Boolean ,默认值 为 false ,表示 资源管理 未 启用 ; 只有在设置为 true 时,资源管理选项才可能生效。
在 UDH 中,若安装 Llama 服务,则在 Impala 的“服务 操作 ”下拉 菜单 选择“启 用 yarn 资源管理 ”可 自动设置 enable_rm 参数 ,达到启用资源管理的目的。
enable_rm 参数值的 显示 位于 UDH Impala 配置页面“资源管理”配置组下,显示为“启用 yarn 资源管理”。未 启用 yarn 资源 管理时, “启用 yarn 资源管理”显示 为 false ( 如下图 ) 。
启用 资源管理后, 下面 几个参数 便会生效 :
-llama_host : Llama 服务所在 的主机名或 IP 地址 ,供 Impala 连接 使用。 默认 值为 127.0.0.1 ;
-llama_port : Llama 服务 端口,,供 Impala 连接 使用。 默认为 15000 ;
-llama_callback_port: Impala 启用 Llama 回调 服务的端口。 Llama 从 该服务报告 资源 的批准或优先 占有 。
-staging_group: YARN 和 Llama 创建已 批准资源的 CGroups 的 路径 , Impala 假设一个 已 分配容器的 CGroup 在目录 'cgroup_hierarchy_path +container_id' 下 创建 。
-fair_cheduler_allocation_path: fair-scheduler.xml 文件 存放位置 。启用 Llama 后, YARN 默认 使用 fair-scheduler.xml 中 定义 的 调度方式进行资源调度 , fair-scheduler.xml 位于 /etc/impala/conf/ 目录 下 。
此时 , “启用 yarn 资源管理”显示 为 true , 同时 ,该配置项下方 将 增加 上述 llama 相关配置信息显示 , 如下 图 所示。
启用 资源管理后,可在 执行 impala 查询时 , 自动通过 Llama 服务 进行 yarn 资源调度 , 调度方式 定义 在 fair-scheduler.xml 中 。 UDH 支持 在线修改和保存 fair-scheduler.xml 内容,以修改 Yarn 资源调度方式。
启动 资源管理后,选择相同位置的 “禁用 yarn 资源管理 ”可以使 资源管理失效 , 即禁用 Llama 服务。
Attachments:
Llama使用手册--UDH v1.0.1.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
Llama使用手册--UDH v1.0.1.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
Llama使用手册--UDH v1.0.1.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)