SPARK2与Phoenix整合的方法是什么

本篇内容主要讲解“SPARK2与Phoenix整合的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SPARK2与Phoenix整合的方法是什么”吧!

1、环境说明

操作系统CentOS Linux release 7.4.1708 (Core)
Ambari2.6.x
HDP2.6.3.0
Spark2.x
Phoenix4.10.0-HBase-1.2
 

2、条件

  1. HBase 安装完成

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

    SPARK2与Phoenix整合的方法是什么  spark2 第1张   
  3. Spark 2安装完成

 

3、Spark2 与 Phoenix整合


步骤:

  1. 进入 Ambari Spark2 配置界面

    SPARK2与Phoenix整合的方法是什么  spark2 第2张   
  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
       SPARK2与Phoenix整合的方法是什么  spark2 第3张     mark
 

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
 SPARK2与Phoenix整合的方法是什么  spark2 第4张 

改为现在的配置

yarn.client.failover-proxy-provider=org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider
 SPARK2与Phoenix整合的方法是什么  spark2 第5张

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

到此,相信大家对“SPARK2与Phoenix整合的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是蜗牛博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram