当前位置: 首页>>Frameworks (Spark) On YARN>> 阅读正文

Apache Spark学习:将Spark部署到Hadoop 2.2.0上

Category: Frameworks (Spark) On YARN View: 47,890 Author: Dong
, ,

  • 评论 (22)
  • 引用通告 (5)
发表评论 发起引用

  • 1楼小疯子 回复

    Post: 2013-12-20 08:02

    有几个问题:
    1.是否需要安装Scala,是否有版本的严格要求?
    2.集群安装时应该注意哪些?
    3.是否有必要修改conf/spark-env.sh和slave?
    3.spark的web访问端口是多少?

    [回复]

    Dong 回复:

    1. 部署不需要安装,会自动安装
    2. 按照步骤操作即可
    3. 不需要,其中,spark-env.sh可以进行一些配置,比如SPARK_HOME等,完全自动化部署,自动化启动slave
    4. 没有端口号,作业运行过程中,直接在YARN里点击ApplicationMaster链接,即可进去web页面

    [回复]

    小疯子 回复:

    谢谢董老师

    [回复]

    小疯子 回复:

    部署spark on yarn后运行run_spark_pi.sh文件时出错:Exception in thread “main” org.apache.hadoop.security.AccessControlException: SIMPLE authentication is not enabled. Available:[TOKEN],不知到是什么原因???

    [回复]

    燕子 回复:

    我也遇到了这个问题,请问您是怎么解决的?我的QQ:540002384,望不吝赐教

    [回复]

  • 2楼唏嘘啊 回复

    Post: 2013-12-26 12:31

    如果你想把spark作为一个客户端,放到hadoop集群上,供用户使用,需要拷贝以下几个目录:
    conf/
    assembly/target/scala-2.9.3/ 只需拷贝jar包
    examples/target/scala-2.9.3/只需拷贝jar包
    spark-class
    注意,需要保证以上目录的层次结构,即一个目录下有:
    conf目录、spark-class文件,assembly目录(内部有target目录)、examples目录(内部有target目录)
    ——————————————
    最刚学习Spark,想请问下,如果是用spark on yarn的模式搭建集群环境,是否需要把以上你提到的文件拷贝到slave机器上去?我试验了一下,不需要拷贝,脚本也能运行呢?能不能解释下spark的standalone、Yarn模式的区别?谢谢!!!

    [回复]

  • 3楼无间 回复

    Post: 2014-01-02 15:30

    西成哥,你好。我搭建了spark on yarn,在使用测试脚本进行测试的时候。任务卡在 ACCEPTED 状态。我到实际执行的机子上看 stdout 发现如下输出,好像连不上yarn。有碰到过这种情况吗?
    2014-01-02 22:52:11,327 INFO [main] yarn.ApplicationMaster (Logging.scala:logInfo(48)) – ApplicationAttemptId: appattempt_1388663779588_0019_000001
    2014-01-02 22:52:11,395 INFO [main] client.RMProxy (RMProxy.java:createRMProxy(56)) – Connecting to ResourceManager at /0.0.0.0:8030
    2014-01-02 22:52:11,401 INFO [main] yarn.ApplicationMaster (Logging.scala:logInfo(48)) – Starting the user JAR in a separate Thread
    2014-01-02 22:52:11,403 INFO [main] yarn.ApplicationMaster (Logging.scala:logInfo(48)) – Waiting for Spark driver to be reachable.
    2014-01-02 22:52:11,412 WARN [main] yarn.ApplicationMaster (Logging.scala:logWarning(60)) – Failed to connect to driver at null:null, retrying …
    2014-01-02 22:52:11,515 WARN [main] yarn.ApplicationMaster (Logging.scala:logWarning(60)) – Failed to connect to driver at datanode3:0, retrying …
    2014-01-02 22:52:11,616 WARN [main] yarn.ApplicationMaster (Logging.scala:logWarning(60)) – Failed to connect to driver at datanode3:0, retrying …
    2014-01-02 22:52:11,716 WARN [main] yarn.ApplicationMaster (Logging.scala:logWarning(60)) – Failed to connect to driver at datanode3:0, retrying …
    2014-01-02 22:52:11,795 INFO [spark-akka.actor.default-dispatcher-4] slf4j.Slf4jEventHandler (Slf4jEventHandler.scala:apply(61)) – Slf4jEventHandler started
    2014-01-02 22:52:11,817 WARN [main] yarn.ApplicationMaster (Logging.scala:logWarning(60)) – Failed to connect to driver at datanode3:0, retrying …

    [回复]

  • 4楼任我行 回复

    Post: 2014-01-03 06:13

    按照你的步骤操作,我运行SparkPi 这个demo,出错,已经困扰我我好几天了,怎么回事啊,求解

    Caused by: java.io.FileNotFoundException: scala-2.9.3 (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.(FileInputStream.java:138)
    at com.google.common.io.Files$FileByteSource.openStream(Files.java:124)
    at com.google.common.io.Files$FileByteSource.openStream(Files.java:114)
    at com.google.common.io.ByteSource.copyTo(ByteSource.java:202)
    at com.google.common.io.Files.copy(Files.java:436)
    at org.apache.spark.HttpFileServer.addFileToDir(HttpFileServer.scala:59)
    at org.apache.spark.HttpFileServer.addJar(HttpFileServer.scala:54)
    at org.apache.spark.SparkContext.addJar(SparkContext.scala:751)
    at org.apache.spark.SparkContext$$anonfun$3.apply(SparkContext.scala:129)
    at org.apache.spark.SparkContext$$anonfun$3.apply(SparkContext.scala:129)
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    at scala.collection.immutable.List.foreach(List.scala:76)
    at org.apache.spark.SparkContext.(SparkContext.scala:129)
    at org.apache.spark.examples.SparkPi$.main(SparkPi.scala:31)
    at org.apache.spark.examples.SparkPi.main(SparkPi.scala)
    … 5 more

    [回复]

  • 5楼小帅 回复

    Post: 2014-01-09 10:30

    您好:
    有问题请教您一下:
    1. 我可以下载CDH4,或CDH5用在商业项目中吗?是否涉嫌侵权?
    2. Spark 和 HADOOP2.2具备容错吗?支持与Zookeeper的集成吗?
    谢谢!

    [回复]

    Dong 回复:

    1. 不侵权,开源协议允许这么做,具体可以阅读apache开源协议
    2. 容错是指哪方面,spark本身有容错,hadoop 2.2.0也有,结合在一起,容错机制不变。与zookeeper兼容是什么意思?

    [回复]

  • 6楼gisElsa 回复

    Post: 2014-01-10 13:58

    编译好的文件分享已经过期,下不了了啊

    [回复]

  • 7楼research2010 回复

    Post: 2014-01-21 02:36

    非常感谢博主如此细致的分享。

    [回复]

  • 8楼research2010 回复

    Post: 2014-01-21 02:43

    请问博主能否在博客上添加一个 订阅到邮件,这样博主发了博文之后,能推送到我的邮件中,比较方便。而RSS如果订阅的内容太多,很难一下子找到。请博主考虑。谢谢。

    [回复]

  • 9楼research2010 回复

    Post: 2014-01-21 02:54

    博主文中说:“如果你想把spark作为一个客户端,放到hadoop集群上,供用户使用,需要拷贝以下几个目录:”,这一点我有点不解。
    我是直接按照博主的方法编译成功后,直接把整个目录放到namenode里,然后按照博主那个例子,运行的2个例子都成功了。而我没有把这个文件夹拷贝到datanode上,而我看他确实是在datanode上运行的。

    [回复]

  • 10楼yycncom 回复

    Post: 2014-02-14 05:26

    你好
    请问遇到的在hadoop2.2.0上安装spark报的如下错,是怎么解决的?谢谢!
    [ERROR] error while loading RpcResponseHeaderProto, class file ‘/root/.m2/repository/org/apache/hadoop/hadoop-common/2.2.0/hadoop-common-2.2.0.jar(org/apache/hadoop/ipc/protobuf/RpcHeaderProtos$RpcResponseHeaderProto.class)’ is broken

    [回复]

    Slaytanic 回复:

    这个是由于spark里面设定的protobuf版本与hadoop所使用的protobuf版本不一致所导致的,修改spark里面的pom.xml为hadoop所使用的protobuf版本即可。

    [回复]

  • 11楼Neptune 回复

    Post: 2014-02-18 12:47

    您好,
    想请教您一个问题:
    如果我下载的是spark官网上的prebuilt版本,还需要使用SPARK_HADOOP_VERSION=2.2.0 SPARK_YARN=true sbt/sbt assembly打包吗?
    谢谢!

    [回复]

  • 12楼Roc 回复

    Post: 2014-02-20 05:52

    你好
    请问遇到的在hadoop2.2.0上安装spark报的如下错,是怎么解决的?谢谢!
    [ERROR] error while loading RpcResponseHeaderProto, class file ‘/root/.m2/repository/org/apache/hadoop/hadoop-common/2.2.0/hadoop-common-2.2.0.jar(org/apache/hadoop/ipc/protobuf/RpcHeaderProtos$RpcResponseHeaderProto.class)’ is broken

    [回复]

    sb 回复:

    貌似只有0.8.1才不会报这个错误,用其他新版本的spark都会出现这个错误

    [回复]

    dryg 回复:

    用的jdk是1.8吧?用1.7试试

    [回复]

  • 13楼luxury 回复

    Post: 2014-04-03 10:01

    请问在执行./sbt/sbt assembly时,遇到这个问题,该怎么解决?谢谢
    [info] Resolving concurrent#concurrent;1.3.4 …
    [error] Server access Error: Connection timed out url=https://oss.sonatype.org/content/repositories/snapshots/concurrent/concurrent/1.3.4/concurrent-1.3.4.pom
    [error] Server access Error: Connection timed out url=https://oss.sonatype.org/service/local/staging/deploy/maven2/concurrent/concurrent/1.3.4/concurrent-1.3.4.pom
    [error] Server access Error: Connection timed out url=https://repository.cloudera.com/artifactory/cloudera-repos/concurrent/concurrent/1.3.4/concurrent-1.3.4.pom
    [info] Resolving org.apache.mesos#mesos;0.13.0 …
    [error] Server access Error: Connection timed out url=https://oss.sonatype.org/content/repositories/snapshots/org/apache/mesos/mesos/0.13.0/mesos-0.13.0.pom

    [回复]

  • 14楼wuming 回复

    Post: 2014-04-10 09:25

    请问为什么必须保留这个路径结构:examples/target/scala-2.10/spark-examples_2.10-assembly-0.9.0-incubating.jar

    保留路径结构是ok的,但是不保留总报错,spark-examples_2.10-assembly-0.9.0-incubating.jar does not exist,这是什么原因呢?多谢

    [回复]

  • 15楼wuming 回复

    Post: 2014-04-10 09:41

    请问为什么一定要保留原有的目录结构: examples/target/scala-2.10/spark-examples_2.10-assembly-0.9.0-incubating.jar ,如果不保留则会报错:spark-examples_2.10-assembly-0.9.0-incubating.jar does not exist
    请指教,多谢

    [回复]

    Dong 回复:

    spark提供的脚本 会加载这些路径下的jar包,是写死的。如果想修改目录结构,需要修改脚本。

    [回复]

  • 16楼zakumq 回复

    Post: 2014-05-22 05:48

    请教您一个问题,我是用hadoop2.2+HBASE0.96+spark0.9.1,我想用spark取hbase中的数据,但是总是报错下面的错误,您知道什么问题吗?
    Loss was due to java.lang.IllegalAccessError
    java.lang.IllegalAccessError: com/google/protobuf/HBaseZeroCopyByteString
    at org.apache.hadoop.hbase.protobuf.RequestConverter.buildRegionSpecifier(RequestConverter.java:910)
    at org.apache.hadoop.hbase.protobuf.RequestConverter.buildGetRowOrBeforeRequest(RequestConverter.java:131)
    at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRowOrBefore(ProtobufUtil.java:1403)

    [回复]

  • 17楼lam99v 回复

    Post: 2014-07-04 10:47

    同16楼的问题。
    不过我的环境是hadoop 2.3+hbase_0.96.1.1+spark1.0.0。

    [回复]

  • 18楼gogaobin 回复

    Post: 2014-09-24 01:51

    老师,你分享的文件失效了,能再分享一下吗

    [回复]

  • 19楼jj 回复

    Post: 2014-10-10 02:01

    同17楼问题,我的环境是hadoop2.2.0+hbase_0.96.1.1+spark1.0.2

    [回复]

  • 20楼yoruichi 回复

    Post: 2015-01-13 12:14

    董老师 您好
    我在部署Spark-1.2.0集群(1master-3worker)之后,使用start-all.sh启动集群时没有问题,在webui上也能看到worker状态。
    但是我提交任务到集群或者是启动spark-shell的时候,master会不停的报出错误如下:
    [ERROR] [Logging.scala:75] logError: Asked to remove non-existent executor 0
    [ERROR] [Logging.scala:75] logError: Asked to remove non-existent executor 1
    [ERROR] [Logging.scala:75] logError: Asked to remove non-existent executor 2
    [ERROR] [Logging.scala:75] logError: Asked to remove non-existent executor 3

    而worker节点上Error log中为:
    [ERROR] [Logging.scala:96] logError: Error running executor java.io.IOException: Cannot run program “/bin/java” (in directory “/usr/local/spark-1.2.0/work/app-20150113194629-0001/9″): error=2, 没有那个文件或目录 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at org.apache.spark.deploy.worker.ExecutorRunner.fetchAndRunExecutor(ExecutorRunner.scala:135) at org.apache.spark.deploy.worker.ExecutorRunner$$anon$1.run(ExecutorRunner.scala:65) Caused by: java.io.IOException: error=2, 没有那个文件或目录 at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.(UNIXProcess.java:187) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)

    我Google了很久也没发现有类似问题出现,望老师能给予帮助。

    [回复]

  • 21楼jt 回复

    Post: 2015-03-03 07:41

    可以直接下载我打包好的spark(下载地址:spark-on-hadoop-2.2.0.tar.gz)

    这个下载地址失效了,董老师能否重新提供

    [回复]

  • 22楼superwei 回复

    Post: 2015-03-08 08:47

    成哥 在你的那个Hadoop2.2.0 Federation+ HA 如何部署Spark呢
    还有就是能部署Spark1.1.0 吗

    [回复]

发表评论