
# 使用Yarn客户端提交任务
#### 操作场景
该任务指导用户在运维场景或业务场景中使用Yarn客户端。
#### 前提条件
各组件业务用户由MRS集群管理员根据业务需要创建。安全模式下，"机机"用户需要下载keytab文件。"人机"用户第一次登录时需修改密码。普通模式不需要下载keytab文件及修改密码操作。
#### 使用Yarn客户端
1. 安装客户端，如果已安装则跳过。 
   例如安装目录为"/opt/client"，以下操作的客户端目录只是举例，请根据实际安装目录修改。
   下载并安装集群客户端的具体操作，请参考[安装MRS集群客户端](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0089.html)。
   
   
2. 以客户端安装用户，登录安装客户端的节点。
3. 执行以下命令，切换到客户端安装目录。 
   ```
   cd /opt/client
   ```
   
   
4. 执行以下命令配置环境变量。 
   ```
   source bigdata_env
   ```
   
   
5. 如果集群已启用Kerberos认证（安全模式），执行以下命令进行用户认证。集群未启用Kerberos认证（普通模式）无需执行用户认证。 
   ```
   kinit 组件业务用户
   ```
   
   
6. 直接执行Yarn相关命令。例如执行以下命令查看Yarn集群中所有应用程序： 
   ```
   yarn application -list
   ```
   例如执行后结果如下：
   ```
   Total number of applications (application-types: [], states: [SUBMITTED, ACCEPTED, RUNNING] and tags: []):2
   Application-Id      Application-Name        Application-Type          User      Queue-User           Queue                   State             Final-State             Progress                        Tracking-URL
   application_1749532996066_0002        default-worker            yarn-service    hetuserver      hetuserver         default                 RUNNING               UNDEFINED                 100%                                 N/A
   application_1749532996066_0001   default-coordinator            yarn-service    hetuserver      hetuserver         default                 RUNNING               UNDEFINED                 100%                                 N/A
   ```
   
   
 
#### 相关文档
- 执行Yarn客户端命令查询历史作业报错，进程被终止，处理方法请参见[使用Yarn客户端命令查询历史作业报错](https://support.huaweicloud.com/trouble-mrs/mrs_03_0723.html)。
- 请求提交任务的Yarn的ResourceManager报错connection refused，且配置的Yarn端口为8032，处理方法请参见[Yarn客户端的端口信息错误导致提交任务后报错connection refused](https://support.huaweicloud.com/trouble-mrs/mrs_03_0306.html)。
- 使用Yarn客户端时常见问题如下：
 
#### 当执行Yarn客户端命令时，客户端程序异常退出，报"java.lang.OutOfMemoryError"的错误。
这个问题是由于Yarn客户端运行时的所需的内存超过了Yarn客户端设置的内存上限（默认为128MB）。
可以通过修改"\<客户端安装路径\>/HDFS/component_env"中的"CLIENT_GC_OPTS"来修改Yarn客户端的内存上限。
例如，需要设置该内存上限为1GB，则执行以下命令：
```
cd <客户端安装路径>/HDFS/component_env
```
```
export CLIENT_GC_OPTS="-Xmx1G"
```
在修改完后，使用如下命令刷新客户端配置，使之生效：
```
source <客户端安装路径>/bigdata_env
```
#### 如何设置Yarn客户端运行时的日志级别？
Yarn客户端运行时的日志是默认输出到Console控制台的，其级别默认是INFO级别。有的时候为了定位问题，需要开启DEBUG级别日志，可以通过导出一个环境变量来设置。
- 执行以下命令开启DEBUG级别日志：
  ```
  export YARN_ROOT_LOGGER=DEBUG,console
  ```
  在执行完上面命令后，再执行Yarn Shell命令时，即可打印出DEBUG级别日志。
  

- 如果想恢复INFO级别日志，可执行如下命令：
  ```
  export YARN_ROOT_LOGGER=INFO,console
  ```
  
 
