
# 配置Spark任务不获取HBase Token信息
#### 操作场景
使用Spark提交任务时，Driver默认会去HBase获取Token，访问HBase则需要配置文件"jaas.conf"进行安全认证。此时如果用户未配置"jaas.conf"文件，会导致应用运行失败。
因此，根据应用是否涉及HBase进行以下处理：
- 当应用不涉及HBase时，即无需获取HBase Token。此时，将"spark.yarn.security.credentials.hbase.enabled"设置为"false"即可。
- 当应用涉及HBase时，将"spark.yarn.security.credentials.hbase.enabled"设置为"true"，且需要在Driver端配置"jaas.conf"文件，配置如下：
  ```
  {client}/spark/bin/spark-sql  --master yarn-client --principal {principal} --keytab {keytab} --driver-java-options "-Djava.security.auth.login.config={LocalPath}/jaas.conf"
  ```
  在"jaas.conf"中指定Keytab和Principal，示例如下：
  ```
  Client {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  keyTab = "{LocalPath}/user.keytab"
  principal="super@<系统域名>"
  useTicketCache=false
  debug=false;
  };
  ```
  
 
#### 配置描述
1. 安装Spark客户端。 
   详细操作请参考[安装MRS客户端](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2127.html)。
   
   
2. 使用客户端安装用户登录Spark客户端节点。 
   在Spark客户端的"*{客户端安装目录}*/Spark/spark/conf/spark-defaults.conf"配置文件中进行设置，修改如下参数：
   表1参数说明 
   | **参数**                                        | **说明**                                                                                                                                                                                                                                                                                                                                         | **配置示例** |
   |:---|:---|:---|
   | spark.yarn.security.credentials.hbase.enabled | HBase是否获取Token： - true：获取  - false：不获取   | false    |
      
   
   
 
