Hadoop学习笔记-Yarn(2)-Yarn命令行操作与参数配置
Yarn常用命令
1.任务查看
1 |
|
- 任务的所有状态有:ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED
2.日志查看
1 |
|
- application_id可以通过任务查看得到,container_id可以通过容器查看得到
3.运行任务查看
1 |
|
4.容器查看
1 |
|
- 注意只有任务在运行的过程中才能看到Container的状态,因为任务运行完成之后Container会释放
5.节点状态查看
1 |
|
6.队列查看
1 |
|
- QueueName即在调度器中的队列名称
7.队列配置更新
1 |
|
只有队列配置信息更新之后可以刷新
如果更改了Yarn配置的话则无法使用这个命令刷新,需要重启Yarn
Yarn重要参数配置
1)ResourceManager相关
yarn.resourcemanager.scheduler.class
:配置调度器,默认为容量调度器yarn.resourcemanager.client.thread-count
:ResourceManager用来处理调度器请求的线程数量,默认为50
2)NodeManager相关
yarn.nodemanager.resource.detect-hardware-capabilities
:是否让yarn自动检测硬件进行配置,默认为falseyarn.nodemanager.resource.count-logical-processors-as-cores
:是否将虚拟核数当作CPU核数,默认为falseyarn.nodemanager.resource.pcores-vcores-multiplier
:虚拟核数与物理核数的比例yarn.nodemanager.resource.memory-mb
:NodeManager使用内存,默认为8Gyarn.nodemanager.resource.system-reserved-memory-mb
:NodeManager为系统保留多少内存上面两个参数只需要配置一个即可
yarn.nodemanager.resource.cpu-vcores
:NodeManager使用CPU核数,默认为8个yarn.nodemanager.pmem-check-enabled
:是否开启物理内存检查限制container,默认打开yarn.nodemanager.vmem-check-enabled
:是否开启虚拟内存检查限制container,默认打开yarn.nodemanager.vmem-pmem-ratio
:虚拟内存与物理内存比例,默认为2:1
3)Container相关
yarn.scheduler.minimum-allocation-mb
:容器最小内存,默认1Gyarn.scheduler.maximun-allocation-mb
:容器最大内存,默认8Gyarn.scheduler.minimum-allocation-vcores
:容器最小CPU核数,默认1个yarn.scheduler.maximum-allocation-vcores
:容器最大CPU核数,默认4个
以上配置信息可以在yarn-site.xml
中进行配置。
调度器配置
容量调度器和公平调度器默认情况下都只有一个default队列,不能满足生产要求。可以在配置文件中配置多队列。
配置多队列可以防止单个任务将所有资源全部耗尽;并且可以实现任务的降级使用,在特殊时期保证重要的任务队列资源充足
容量调度器配置:相关配置在
$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml
中,可以配置多队列、配置每个队列的最低和最大使用资源、队列使用权限、队列优先级、任务超时设置等公平调度器配置:公平调度器的配置默认在Apache Hadoop中没有,需要自己创建配置文件,然后在
yarn-site.xml
文件中指定相关的配置信息,同样可以配置队列相关的信息
通过-D来表示运行时改变参数值,例如:
1-D mapreduce.job.queuename=xxx
附加:Yarn的Tool接口,动态参数传递的同时,允许-D来添加运行参数值