Spark版本:spark-1.1.0-bin-hadoop2.4 (下载:http://spark.apache.org/downloads.html)

服务器环境的情况,请参考上篇博文 hbase centOS生产环境配置笔记

(hbase-r是ResourceManager; hbase-1, hbase-2, hbase-3是NodeManager)

1. 安装和配置 (yarn-cluster模式的文档参考:http://spark.apache.org/docs/latest/running-on-yarn.html)

  yarn-cluster模式运行程序,spark会将程序jar包保存至hdfs,然后自动通过yarn的配置,分布式运行在各台NodeManager上。故这个模式下,无须指定Spark的master和slaves。

  (1) 安装scala

  下载rpm包,安装

  

  (1) 本次Spark将在所有机器上安装:hbase-0, hbase-r, hbase-1, hbase-2, hbase-3。

  解压后目录中的文件拷贝至 /hbase/spark,以下配置文件的路径都是相对于该目录下。全部配置好了以后,安装目录,环境变量等,都将复制在所有机器上。

 

  (2) 环境变量, ~/.bashrc

export SPARK_HOME="/hbase/spark"
export SCALA_HOME="/usr/share/scala"
export SPARK_CLASSPATH="$SPARK_CLASSPATH:/hbase/hbase/lib"
 

  (3) 设置Spark Properties,conf/spark-defaults.conf

# options for Yarn-cluster mode
spark.yarn.applicationMaster.waitTries
spark.yarn.submit.file.replication
spark.yarn.preserve.staging.files false
spark.yarn.scheduler.heartbeat.interval-ms
spark.yarn.max.executor.failures
spark.yarn.historyServer.address hbase-r:
spark.yarn.executor.memoryOverhead 512
spark.yarn.driver.memoryOverhead 512

  (4) 在防火墙上设置所有机器之间互相可以内网访问所有端口(单独设置特定的端口范围太过麻烦了,hadoop, hbase, spark, yarn, zookeeper等各种监听端口太多了)。

  

  (3) 测试 java example

./bin/spark-submit --class org.apache.spark.examples.JavaSparkPi --master yarn-cluster --num-executors 3 --driver-memory 1024m  --executor-memory 1024m --executor-cores 1 lib/spark-examples*.jar 20

  运行成功后,在控制台可以看到

     yarnAppState: FINISHED
distributedFinalState: SUCCEEDED
appTrackingUrl: http://hbase-r:18088/proxy/application_1414738706972_0011/A

  然后访问 appTrackingUrl,可以看到如下结果,可以看到 FinalStatus:SUCCEEDED

                    Application Overview
User: webadmin
Name: org.apache.spark.examples.JavaSparkPi
Application Type: SPARK
Application Tags:
State: FINISHED
FinalStatus: SUCCEEDED
Started: -Nov- ::
Elapsed: 43sec
Tracking URL: History
Diagnostics:
ApplicationMaster
Attempt Number Start Time Node Logs
-Nov- :: hbase-: logs

最新文章

  1. java语言 打印素数实例
  2. centos7系统管理和运维实战
  3. 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)
  4. 将Spark中CompactBuf转换为String
  5. ok6410的madplay配置
  6. Delphi 动态创建组件,单个创建、单个销毁
  7. linux系统资源信息监控
  8. [LeetCode]题解(python):154-Find Minimum in Rotated Sorted Array II
  9. 人类科技的发展为什么会是加速度的(TRIZ方法再推荐)
  10. 动态封杀与解封IP
  11. linux环境下搭建 j2ee环境
  12. Python爬虫利器:Beautiful Soup
  13. Ionic的NavController 和ModalController 的区别
  14. C#6.0语言规范(四) 类型
  15. 关于使用vw单位适配H5项目(二)
  16. java jdbc->mycat->oracle SqlException异常中文信息乱码解决
  17. [JavaScript] - replaceAll,将字符串中的字母或数字等全部替换掉的方式
  18. sudo操作
  19. effective c++ 笔记 (13-17)
  20. 【Tensorflow】设置显存自适应,显存比例

热门文章

  1. bzoj1222: [HNOI2001]产品加工--DP
  2. C++静态成员和静态成员函数
  3. 2016HUAS暑假集训训练2 O - Can you find it?
  4. 2016HUAS暑假集训训练2 K - Hero
  5. venus java高并发框架
  6. Thinking in Java--笔记(2)
  7. 通过php获取用户微信openid
  8. play for scala 通过网易smtp发送邮件
  9. tomcat chinese miscode and chinese input in IDEA
  10. oracle 判断字符串是否日期格式