大数据开发问题整理-Spark

大数据开发问题整理-Spark,第1张

大数据开发问题整理-Spark 大数据开发问题整理-Spark

2021秋季 PKU信科研究生课程《网络大数据管理理论与应用》共五次作业,其中包括三个Hadoop作业、一个Spark作业以及一个期末大作业。在做这些作业的过程中,遇到了一些环境问题和开发问题,其中一部分问题记录下了解决办法,在此整理一下做备忘之用。后续可能会把环境配置、新建项目和作业实现过程等也放上来。

1、scalar安装

sudo tar -zxvf scala-2.10.6.tgz -C /usr/local/src

2、spark安装

sudo tar -zxvf spark-1.6.2-bin-hadoop2.6.tgz -C /usr/local/src

3、环境变量

修改bashrc

sudo gedit ~/.bashrc
export SCALA_HOME=/usr/local/src/scala-2.10.6 
export PATH=${SCALA_HOME}/bin:$PATH 
export SPARK_HOME=/usr/local/src/spark-2.4.7-bin-hadoop2.6 
export PATH=${SPARK_HOME}/bin:$PATH 
export PYTHonPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHonPATH
export PYSPARK_PYTHON=python3
source ~/.bashrc 

修改profile

vi /etc/profile
HADOOP_HOME=/usr/local/hadoop-2.6.0
SCALA_HOME=/usr/local/src/scala-2.10.6 
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin
export PATH JAVA_HOME HADOOP_HOME SCALA_HOME
export SPARK_HOME=/home/hadoop/spark-2.4.7-bin-hadoop2.6
export PATH=$SPARK_HOME/bin:$PATH

修改权限

chown -R root:root scala-2.11.8

4、spark-env.sh 配置

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-2.6.0/bin/hadoop classpath) 
export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.0/etc/hadoop 
export HADOOP_HOME =/usr/local/hadoop-2.6.0
export JAVA_HOME=/opt/java/jdk1.8.0_60
export SPARK_MASTER_IP = XXXX   	 

5、启动时start-all.sh输出no such file or directory
问题所在:~/.bashrc里面SPARK_HOME多加了回车
参考:https://blog.csdn.net/qq_35812358/article/details/105981139

6、Linux复制当前文件夹下的所有文件到另一文件夹

cp ./* todir

ps:Linux常用指令要记牢!

7、scala插件导入后不显示
Eclipse: Help->install new software 找scala插件并下载

8、Cannot complete the install because of a conflicting dependency
参考:
https://www.cnblogs.com/yangykaifa/p/6970607.html

10.GC overhead
解决办法:调大eclipse.ini 最大内存
参考:https://blog.csdn.net/liuyaorong/article/details/52161043

11、scala版本 eclipse版本 jdk版本 spark版本全都要匹配
scala2.11.8:https://www.scala-lang.org/download/2.11.8.html
scala插件:http://scala-ide.org/download/prev-stable.html
eclipse:4.4 Luna
spark:2.4.7
jdk: 1.8

12、启动Spark的Master节点和所有slaves节点

cd /usr/local/src/spark-2.4.7-bin-hadoop2.6/sbin
start-all.sh

13、退出spark-shell:

scala> :quit

14、提交作业到Spark集群
首先在eclipse中导出jar文件,并上传到hdfs上
在命令行中输入如下脚本(以pagerank为例,注意hdfs路径名和class名都要正确):

cd /usr/local/src/spark-2.4.7-bin-hadoop2.6/bin
spark-submit 
--class assignmentFinal.SparkTopK 
--master spark://master:7077 
--deploy-mode cluster 
hdfs://master:9000/user/hadoop/jar/sparktopk.jar 

可以在 master:8080 查看运行情况

15、eclipse导出jar时出现Class files on classpath not found or not accessible for …
工程文件夹应该会有个大红感叹号。右击工程文件夹,properties 选择java build class,查看各选项卡,有红色错误提醒的remove之即可。

16、spark运行不起来

21/12/10 23:35:18 ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM
or your platform… using builtin-java classes where applicable

问题所在:基本都是和输入文件的格式有关
解决方法:把输入textFile字符串改为了具体txt文件,而不是mapreduce那样文件夹就行

17、ClassNotFoundException
问题所在:运行脚本没写对
若object有package时,–class后接的格式应该是packageName.objectName;
若object没有package时,–class后接的格式应该是objectName

18、java.lang.NoClassDefFoundError: scala.xml.metaData
解决办法:导入scala-xml.jar
参考:https://blog.csdn.net/iamlihongwei/article/details/76230119

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5699994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存