1、环境说明

操作系统 CentOS Linux release 7.4.1708 (Core)
Ambari 2.6.x
HDP 2.6.3.0
Spark 2.x
Phoenix 4.10.0-HBase-1.2

2、条件

  1. HBase 安装完成

  2. Phoenix 已经启用,Ambari界面如下所示:

  3. Spark 2安装完成

3、Spark2 与 Phoenix整合

Phoenix 官网整合教程: http://phoenix.apache.org/phoenix_spark.html

步骤:

  1. 进入 Ambari Spark2 配置界面

  2. 找到自定义 spark2-defaults并添加如下配置项:

    spark.driver.extraClassPath=/usr/hdp/current/phoenix-client/phoenix-4.10.0-HBase-1.2-client.jar
    spark.executor.extraClassPath=/usr/hdp/current/phoenix-client/phoenix-4.10.0-HBase-1.2-client.jar

4、Yarn HA 问题

如果配置了Yarn HA, 则需要修改 Yarn HA 配置,否则spark-submit提交任务会报如下错误:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider.getProxyInternal()Ljava/lang/Object; from class org.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvider
at org.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvider.init(RequestHedgingRMFailoverProxyProvider.java:75)
at org.apache.hadoop.yarn.client.RMProxy.createRMFailoverProxyProvider(RMProxy.java:163)
at org.apache.hadoop.yarn.client.RMProxy.createRMProxy(RMProxy.java:94)
at org.apache.hadoop.yarn.client.ClientRMProxy.createRMProxy(ClientRMProxy.java:72)
at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceStart(YarnClientImpl.java:187)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:153)
at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:56)
at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:173)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:509)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2516)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:922)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:914)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:914)
at cn.spark.sxt.SparkOnPhoenix$.main(SparkOnPhoenix.scala:13)
at cn.spark.sxt.SparkOnPhoenix.main(SparkOnPhoenix.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.i

修改Yarn HA配置:

原来的配置:

yarn.client.failover-proxy-provider=org.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvider

改为现在的配置

yarn.client.failover-proxy-provider=org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider

如果没有配置 Yarn HA, 则不需要进行此步配置


最新文章

  1. 【ORACLE】常用脚本
  2. 简单使用AutoMapper实现DTO转换
  3. (转)eclipse项目导入到android studio中
  4. html5 canvas 鼠标绘制
  5. Let it Bead
  6. 总结:js中4类修改样式的方法
  7. 摆弄【Nhibernate 协会制图--导乐陪伴分娩】
  8. [Python学习] 模块三.基本字符串
  9. RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)
  10. Docker集群编排工具之Kubernetes(K8s)介绍、安装及使用
  11. 简单实现SSO
  12. 状压dp(状态压缩&amp;&amp;dp结合)学习笔记(持续更新)
  13. leetcode-26.删除重复数组中的重复项
  14. 变量存储缓存机制 Number (int bool float complex)
  15. [转]MySQL索引原理及慢查询优化
  16. VS下关于 _CRT_SECURE_NO_WARNINGS 问题的分析与解决
  17. JavaQuery
  18. QoS专题-第2期-QoS实现工具之MQC
  19. Node.js的全局对象和全局变量
  20. 免费的API

热门文章

  1. Spring注解:InitBinder
  2. 自媒体工具OpenWrite
  3. Nginx的一理解(2)
  4. Android Linker简介
  5. python 验证客户端的合法性
  6. [题解]CSP2019 Solution - Part B
  7. java"小心机"(1)【资源彩蛋!】
  8. Python错误与异常
  9. Ninject 初步 -Getting Started with Ninject 精通ASP-NET-MVC-5-弗瑞曼 Listing 6-10
  10. 04--Java--使用eclipse创建开发java项目步骤