spark

1.TBDS认证

由于套件增加了自己的认证体系,在执行bin/spark-submit之前,需要先export认证相关的环境变量,

  export hadoop_security_authentication_tbds_username=hdfs
  export hadoop_security_authentication_tbds_secureid=F3QdVfxbQkNHVkn1OzLA3yK3In0bL6HgX
  export hadoop_security_authentication_tbds_securekey=o8AnGFYQ2lIB0AJ78TIeoJ0Uu1nkph12

admin用户可以在portal创建所有用户的securekey密钥。普通用户需要securekey密钥则向管理员申请。详情请见认证相关文档。

执行上述export语句之后,就可正常提交spark任务。

2.Spark Streaming 消费 Kafka

由于访问套件Kafka也需要进行认证,因此这个地方也与开源版本不同。首先需要在自己的Spark Streaming App里面将maven依赖由社区版本替换成套件版本,

      <groupId>org.apache.spark</groupId>
      <artifactId>spark-streaming-kafka-0-10_2.11</artifactId>
      <version>2.1.0-TBDS-4.0.4</version>

Kafka认证支持两种方式,接下来分别说明。

2.1 TBDS认证访问

需要在Kafka参数里面增加参数,

       "security.protocol" -> "SASL_TBDS",
       "sasl.mechanism" -> "TBDS",
       “sasl.tbds.secure.id” -> “F3QdVfxbQkNHVkn1OzLA3yK3In0bL6HgX”,
       “sasl.tbds.secure.key” -> “o8AnGFYQ2lIB0AJ78TIeoJ0Uu1nkph12”

其中认证相关的密钥信息同上述。

2.2 SASL_PLAIN认证访问

需要在Kafka参数里面增加参数,

完整示例代码如下,

这样才能保证Spark的driver和executor都能访问到认证所需要的jaas配置文件。

3.集群外客户端部署

(1)在任一安装spark客户端的集群内节点,打包spark的安装路径: /usr/hdp/2.2.0.0-2041/spark/,并拷贝到集群外目标客户端安装节点 (2)如果有套件的yum源,在集群外目标安装节点使用yum install安装 (3)如果有spark的rpm包,在集群外目标安装节点使用rpm -ivh安装

Last updated

Was this helpful?