目的:

希望在自己电脑上run项目组之前的代码,帮助理解代码,同时为之后的修改做铺垫。由于代码是基于 Spark 2.0.1、Scala 2.11.8 、 Hadoop 2.7.3以及JAVA 1.8,而我自己电脑配置的是 Spark 1.6.1、Scala 2.11.8 、 Hadoop 1.2.1以及JAVA 1.8。

为避免版本问题出现报错,觉得有两种解决方法:
1.将spark1.6.1版本换成spark2.0.1版本。
2.sbt版本都设置成我电脑的版本,run一下是否成功。
这篇文章记录了方法1的心路历程,其实方法2似乎更为简洁,主要是没有很好的理解sbt等工具的效果以及对依赖的版本不够了解,导致修改依赖后打包失败之后可以再尝试。

过程
、在spark官网下载了spark2.0.1的安装包,根据基于hadoop的版本分别下载了spark-2.0.1-bin-hadoop2.7(基于hadoop2.7)、spark-2.0.2-bin-without-hadoop(基于2.0之前的hadoop版本)两个压缩包。

二、解压并移动到相应目录。

三、修改相应的配置文件:
修改/etc/profie (sudo 是修改权限为root)

sudo vim /etc/profile

在其中增加如下内容:

export SPARK_HOME=/home/yy/spark-2.1.0-bin-hadoop2.7/
export PATH=$PATH:$SPARK_HOME/bin

并更新/etc/profie

source /etc/profile

四、依次尝试打开spark-shell,发现spark-2.0.2-bin-without-hadoop不能打开,所以选择使用spark-2.0.1-bin-hadoop2.7。

五、本地运行简单的例子

已将打包好的jar包放在bin目录下,在bin目录下直接运行:

spark-submit --master local[4] --class WordCount wordcount.jar
spark-submit --master local[4] --class helloscala helloscala.jar 

六、本地运行项目代码

1.kmercounting:

./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.KmerCounting bin/LocalCluster-assembly-0.1.jar -i data/small/sample.seq -o tmp/seq_result.txt --format seq -k 31  

2.KmerMapReads2

./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.KmerMapReads2 bin/LocalCluster-assembly-0.1.jar --reads data/small/sample.seq --format seq -k 31 --kmer tmp/seq_result.txt  --output tmp/kmer_reads

3.GraphGen2

./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.GraphGen2 bin/LocalCluster-assembly-0.1.jar -i tmp/kmer_reads.txt  -o tmp/edges.txt 

4.GraphLPA2

./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.GraphLPA2  bin/LocalCluster-assembly-0.1.jar -i tmp/edges.txt  -o tmp/lpa.txt 

5.AddSeq

./bin/spark-submit --master local[4] --class org.jgi.spark.localcluster.tools.CCAddSeq bin/LocalCluster-assembly-0.1.jar --wait 1 -i tmp/lpa.txt --reads data/small/sample.seq -o tmp/lpa_seq.txt 

结合本地实验输出结果和程序步骤理解算法。

七、在独立集群上运行代码

简单例子

spark-submit --master spark://yypc:7077 --class WordCount wordcount.jar 

发现报错:
java.io.IOException: Failed to connect to yypc/58.198.102.156:7077

在网上参考各类文档,参照http://blog.csdn.net/ybdesire/article/details/70666544找到问题:

用nmap确认能连接Master主机端口7077

nmap -p 7077 master_ip

显示master并没有开:

Starting Nmap 6.40 ( http://nmap.org ) at 2017-12-04 21:06 CST
Nmap scan report for yypc (58.198.102.156)
Host is up (0.000018s latency).
PORT     STATE  SERVICE
7077/tcp closed unknown
Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds

主要原因在于我开spark集群时出现错误。
正确开spark,应该在bin目录下./start-all.sh而不是直接start-all.sh;

其次,新安装的spark要修改两个文件:conf/spark-env.sh和conf/slaves,这应该是在spark安装过程中的,但是被遗忘了。文件修改的具体过程详见https://www.cnblogs.com/zengxiaoliang/p/6478859.html Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程。

这两个问题解决完之后,wordcount能run了。

项目代码
(试了一部分)
kmercounting:

./bin/spark-submit --master spark://yypc:7077 --deploy-mode client  --conf spark.executor.extraClassPath=bin/LocalCluster-assembly-0.1.jar --conf spark.speculation=true --conf spark.speculation.multiplier=2 --conf spark.eventLog.enabled=false bin/LocalCluster-assembly-0.1.jar KmerCounting --wait 1 -i data/small/sample.seq -o tmp/seq_result2.txt --format seq -k 31 -C

KmerMapReads2:

./bin/spark-submit --master spark://yypc:7077 --deploy-mode client  --conf spark.executor.extraClassPath=bin/LocalCluster-assembly-0.1.jar --conf spark.speculation=true --conf spark.speculation.multiplier=2 --conf spark.eventLog.enabled=false bin/LocalCluster-assembly-0.1.jar KmerMapReads2 --wait 1 --reads data/small/sample.seq --format seq -k 31 --kmer tmp/seq_result2.txt  --output  tmp/kmer_reads2.txt

刚修改完文件后运行不成功,重启后再运行成功了。

当前是hadoop1.2.1版本不变,下载了spark-2.0.1-bin-hadoop2.7版本,可正常使用,能应对当前初步的写代码和调试的需要。

运行spark及hadoop版本不一致解决方法相关推荐

  1. win10更新1809版本后运行Dev-cpp, dos控制台字符乱码解决方法

    win10更新1809版本后运行Dev-cpp, dos控制台字符乱码解决方法 参考文章: (1)win10更新1809版本后运行Dev-cpp, dos控制台字符乱码解决方法 (2)https:// ...

  2. Spark面对OOM问题的解决方法及优化总结 (转载)

    Spark面对OOM问题的解决方法及优化总结 (转载) 转载地址: http://blog.csdn.net/yhb315279058/article/details/51035631 Spark中的 ...

  3. win7计算机窗口像xp,windows7界面突然变成xp老版本怎么回事?win7界面突然变成老版本的解决方法...

    现如今许多用户都给电脑安装windows7系统,安全稳定的特点赢得很多人的喜爱.可是在运行过程中难免会遇到一些问题,比如有位用户说windows7界面突然变成xp老版本,怎么回事呢?明明也没做什么设置 ...

  4. vs 警告当前源代码跟内置的版本不一致解决办法

    vs 警告当前源代码跟内置的版本不一致解决办法, 我在网上搜了一圈,各种方法都试过了,还是不行,编译出来的可执行文件用的还是旧的代码,把代码删了还是不行.我就奇怪了vs在哪里保存了原来的版本. 后来我 ...

  5. qq炫舞手游显示无法连接服务器失败,qq炫舞手游无法连接版本服务器_QQ炫舞手游无法连接版本服务器解决方法_游戏吧...

    QQ炫舞手游有玩家遇到了无法连接版本服务器的原因,想必大家都很想知道怎么办吧.下面游戏吧小编就为各位玩家带来了QQ炫舞手游无法连接版本服务器解决方法. 无法连接版本服务器 亲爱的玩家 由于网络问题,服 ...

  6. 因为计算机安装了更新i,电脑安装iTunes时提示这台电脑已安装了更高版本的解决方法图文教程...

    最近有用户在电脑中安装iTunes软件时,出现了提示"这台电脑已安装了更高版本的Apple Software Update",如果遇到了这样的问题,这该怎么办呢?下面脚本之家的小编 ...

  7. Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法

    Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法 下载网络上的Adobe flash cs5 精简版(绿色版),Java运行时环境初始化时出现错误,你可能需要重装Flash ...

  8. hbase或hadoop错误及解决方法

    hbase或hadoop错误及解决方法 参考文章: (1)hbase或hadoop错误及解决方法 (2)https://www.cnblogs.com/wukenaihe/archive/2013/0 ...

  9. “正尝试安装的adobe flash player不是最新版本”的解决方法:

    在安装flash player 10时遇到提示"正尝试安装的adobe flash player不是最新版本"的解决方法: 执行 regedit,找到以下位置:[HKEY_LOCA ...

  10. 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件的解决方法(webpack热加载)

    [README]webpack-dev-server 是一个支持热编译的服务器(动态编译) [1]问题 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件的 ...

最新文章

  1. 深度学习最近发现详细分析报告
  2. node.js中对 mysql 进行增删改查等操作和async,await处理
  3. leetcode 79:simplify path
  4. YARN中的失败分析
  5. 工作272:上传部分代码优化之两种上传视频的方式
  6. 【转】ABP源码分析二十八:ABP.MemoryDB
  7. 电动车充电器原理及带电路图维修
  8. laravel sql_mode 严格模式
  9. 条件数、奇异值与海森矩阵
  10. sql未保存文档找回
  11. 企业官方微博的视觉设计与营销策略分析
  12. python产生一个1到10的列表_python-列表生成式(一)
  13. 上了一堂健身课,27岁程序员尿尿像酱油!
  14. 安卓开发常用词汇总结
  15. 【商业数据分析】—— 用户价值RFM模型详解(小仙女搬运工)
  16. 如何恢复文件夹隐藏文件?超实用的2种技巧来了
  17. 中国食物链?(看不上,看不起,瞧不起,狗眼看人低)
  18. Linux系列:二进制 Byte为什么是-127—127范围
  19. CSDN开发者周刊:因制裁 多个地区GitHub账号使用受限!Python 之父考虑重构解释器​​​​​​​
  20. C语言初学零基础(一)——安装Visual Studio2022

热门文章

  1. Windows 中剪贴板的操作
  2. 模拟电子线路复习笔记( 六) —— 集成运算放大器原理及其运用
  3. 射频功放学习之ADS原理图版图联合仿真
  4. 基于MATLAB的语音信号设计,基于MATLAB的语音信号处理系统设计
  5. WPS2003排版位置错误一例(转)
  6. 完整的连接器设计手册_工业连接器如何选型
  7. 粒子群课设,粒子群算法(基础精讲)ppt课件
  8. Powerdesigner下载安装
  9. 【学习笔记】Python办公自动化 - Task 01 文件自动化处理 邮件自动发送
  10. DM8168 开机自动运行程序