【Spark】FusionInsight-Spark-FAQ

FusionInsight_Admin 2016-03-20 11:23:05
加精
FusionInsight-Spark-FAQ

Spark是一个高效的通用的大规模数据处理引擎。这里汇总了FusionInsight中Spark组件的相关问题,包括Spark功能介绍、参数说明、常用命令、常见问题及解决办法等信息,并会定期更新。

1 常用命令
1.1 Spark的安装
FI集群中Spark依赖的服务:
1)在安全模式下:Kerberos,LdapServer,HDFS,Yarn,HBaseDBservice
2)非安全模式下:HDFS,Yarn,HBase,DBservice
FI中Spark的安装集成在Manager侧:
对于新集群:下载包含Spark组件的安装包,执行Manager侧的安装脚本即可完成Spark的安装。
对于已完成FI安装的集群:请先确保Spark依赖的服务安装完毕之后才可以完成Spark的安装,在FI界面,Service->add service->spark等步骤即可完成Spark服务的安装。
1.2 Shell客户端安装
在FI页面,可以下载安装客户端。在下载完客户端后,需要解压安装。
安装命令: sh install.sh /destination_path/
1.3 客户端的使用
功能:在spark客户端可以进行任务提交。
使用方法:
1) 进行source,kinit操作,以便使用客户端的配置和与服务端通信的认证信息
2) 任务的提交(主要有以下几种任务):
A)利用spark-submit提交任务,命令:
. /destination_path/Spark/spark/bin/spark-submit --class classname --master yarn-client ../lib/dependencyjars
B) 进入scala交互平台,使用其REPL功能,命令:
. /destination_path/Spark/spark/bin/spark-sehll
C) 进入spark-sql交互平台,执行spark-sql任务,命令:
. /destination_path/Spark/spark/bin/spark-sql –master yarn-client
D) 登陆beeline,利用jdbc提交spark-sql任务,命令:
/destination_path/Spark/spark/bin/beeline
!connect jdbc:hive2://ha-cluster/default;user.principal=spark/hadoop.hadoop.com@HADOOP.COM;sasl.qop=auth-conf;auth=KERBEROS;principal=spark/hadoop.hadoop.com@HADOOP.COM
在C50中,JDBCServer提供ha模式,在beeline连接jdbcserver时需使用ha-cluster代替C30中的ip:port模式。
...全文
2008 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
viyana 2016-05-11
  • 打赏
  • 举报
回复
更的好慢啊,这也不够学啊
赵4老师 2016-04-14
  • 打赏
  • 举报
回复
谨慎乐观
  • 打赏
  • 举报
回复
感谢分享~
beeflyme 2016-03-24
  • 打赏
  • 举报
回复
喜大普奔
  • 打赏
  • 举报
回复
引用 4 楼 GWLCGL520 的回复:
这是一个不定时更新、收集Spark知识的帖子吗,可以做一下标记的,以后相关的spark知识就到这里来查询了
是的,你可以在这里得到专业的及时的答复。我们是商用产品版本。 欢迎你使用我们的产品,给我们提问题。
GWLCGL520 2016-03-21
  • 打赏
  • 举报
回复
这是一个不定时更新、收集Spark知识的帖子吗,可以做一下标记的,以后相关的spark知识就到这里来查询了
  • 打赏
  • 举报
回复
1 Spark常见问题 1.1 默认安装IBMJDK的集群安装Spark启动失败 问题背景:集群中自带IBM的JAVA jdk,且配置到环境变量PATH中 原因分析:环境是装有ibmjdk,且在其环境变量中存在kinit,导致可用性检测时执行kinit出错,无法生成访问hdfs文件需要的认证文件; 解决方案有三个: 1)直接卸载掉系统自带的IBM的java JDK 2)在PATH环境变量中删除其路径 3)在Spark配置项中添加kerberos路径,强制执行kinit时使用kerberos的kinit; 操作步骤 i.在主oms节点上,切换到omm用户 su - omm ii.cd /opt/huawei/Bigdata/FusionInsight-Spark-1.3.0/adapter/conf/controller/ iii.编辑修改configurations.xml文件, 在spark的configurations.xml中 在每个spark-env.sh下面增加一个配置: <property type="hidden" scope="all" classification="Paths"> <name>KRB_HOME</name> <value>/home/omm/kerberos</value> </property> iv. 保存文件,重启controller; v.在fi界面同步配置,重新启动spark服务; 1.2 Yarn-cluster模式提交任务失败。 问题背景:使用客户端以yarn-cluster模式提交spark任务失败 问题原因:./spark-submit --class yourclassname --master yarn-cluster /yourdependencyjars 任务以yarn-cluster模式提交任务,driver端会在集群中启用,由于加载的是客户端的spark.driver.extraJavaOptions,在集群节点上对应路径下找不到对应的kdc.conf文件,无法获取kerberos认证所需信息,导致am启动失败。在am日志中打印如下错误信息: Exception in thread "main" java.lang.ExceptionInInitializerError Caused by: org.apache.spark.SparkException: Unable to load YARN support Caused by: java.lang.IllegalArgumentException: Can't get Kerberos realm Caused by: java.lang.reflect.InvocationTargetException Caused by: KrbException: Cannot locate default realm Caused by: KrbException: Generic error (description in e-text) (60) - Unable to locate Kerberos realm 解决方案:.在客户端提交任务时,在命令行中配置自定义的spark.driver.extraJavaOptions参数 这样任务运行时就不会自动加载客户端路径下的spark-defaults.conf中的spark.driver.extraJavaOptions ./spark-submit –class yourclassname --master yarn-cluster --conf spark.driver.extraJavaOptions="-Dlog4j.configuration=/opt/huawei/Bigdata/FusionInsight-Spark-1.3.0/spark/conf/log4j.properties.template -Djetty.version=x.y.z -Dzookeeper.server.principal=zookeeper/hadoop.hadoop.com -Djava.security.krb5.conf=/opt/huawei/Bigdata/FusionInsight-Spark-1.3.0/kdc.conf -Djava.security.auth.login.config=/opt/huawei/Bigdata/FusionInsight-Spark-1.3.0/jaas.conf" ../yourdependencyjars

107

社区成员

发帖
与我相关
我的任务
社区描述
本论坛将作为用户和华为FusionInsight大数据平台的开发交流平台,我们将持续建设本论坛,致力于让用户更好更快更全面的了解华为FusionInsight大数据平台。
华为华为云 技术论坛(原bbs)
社区管理员
  • FusionInsight HD社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧