Spark伪分布式环境搭建


1  环境准备

1.1     JDK安装

1.1.1         版本

         使用1.7或1.7以上版本的JDK

1.1.2         安装

         解压环境包:tar -zxvf jdk-7.tgz

         移动到/data/下:mvjdk1.7  /data/jdk

1.1.3         环境变量

         执行命令 vi /etc/profile, 添加变量:

         export JAVA_HOME=/data/jdk

         export PATH=$PATH:$JAVA_HOME/bin

         exportCLASSPATH=.:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib/

        

         执行命令: source /etc/profile使修改后的profile文件生效。

1.1.4         验证

         执行命令:java -version  成功显示java版本,则没有问题。

1.2     hadoop安装

         略,参考hadoop安装文档。

1.3     Scala安装

1.3.1         版本

         使用2.10或以上的版本。

1.3.2         安装

         解压环境包:tar -zvxf scala-2.10.6.tgz

         移动到/data/下:mv scala-2.10.6  /data/scala

1.3.3         环境变量

         执行命令 vi /etc/profile, 添加变量:

         export SCALA_HOME=/data/scala

         export PATH=$PATH:$SCALA_HOME/bin

        

         执行命令: source /etc/profile使修改后的profile文件生效。

1.3.4         验证

         执行命令:scala -version  成功显示scala版本,则没有问题。

2  Spark安装

2.1     版本

到官方网站下载Spark稳定版本安装包:http://spark.apache.org/downloads.html。

目前使用的版本是:spark-1.6.0-bin-hadoop2.6

2.2     安装

解压命令再啰嗦下:tar  -zxvf  spark-1.6.0-bin-hadoop2.6.tgz

然后重命名:cp  spark-1.6.0-bin-hadoop2.6  /data/spark

2.3     环境变量

Ø  执行命令 vi/etc/profile, 添加变量:

         exportSPARK_HOME=/data/spark

         exportPATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin      

        

         执行命令: source/etc/profile使修改后的profile文件生效。

2.4     修改配置

2.4.1         spark-env.sh

进入{SPARK_HOME}/conf目录下,复制一份spark-env.sh.template并更改文件名为spark-env.sh,并vim spark-env.sh 编辑:

 

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER-Dspark.deploy.zookeeper.url=localhost:2181-Dspark.deploy.zookeeper.dir=/spark"

export JAVA_HOME=/data/jdk

export SCALA_HOME=/data/scala

exportHADOOP_CONF_DIR=/data/hadoop/etc/hadoop

export SPARK_LOCAL_DIRS=/data/spark/tempdatas/spark_local_dirs

exportSPARK_PID_DIR=/data/spark/tempdatas/spark_local_dirs/pid

 

如果ssh端口不是默认的22,则在此文件中添加:

export SPARK_SSH_OPTS="-p 22080"

2.4.2         spark-defaults.conf

进入{SPARK_HOME}/conf目录下,复制一份spark-defaults.conf.template并更改文件名为spark-defaults.conf,并vimspark-defaults.conf 编辑:

 

spark.master            spark://localhost:7077

spark.executor.memory   4g

spark.eventLog.enabled  true

spark.serializer       org.apache.spark.serializer.KryoSerializer

spark.eventLog.dir          hdfs://localhost:9000/spark/logs

spark.history.fs.logDirectory   hdfs://localhost:9000/spark/logs

spark.shuffle.service.enabled  true

spark.logConf               true

spark.eventLog.compress     true

 

注:/spark/logs这个日志目录需要手动创建。

2.4.3         slave

进入{SPARK_HOME}/conf目录下,复制一份slaves.template并更改文件名为slaves,并vim slaves 编辑,将所有计算节点(非master节点)的主机名配置到slaves文件中:

localhost

2.4.4         启动进程

执行命令:start-history-server.sh 可查看程序进程历史运行时的情况。不是必须启动的进程,程序有性能问题时可以启动此进程来辅助排查。

 

注:如果使用yarn方式运行spark程序,则无需启动任何进程,由yarn去管理,也就是说不用执行下面的命令。

 

下面是standalone方式的启动和停止方式:

Ø  启动进程:

                  start-master.sh

                  start-slaves.sh

        

         用jps检查,在节点上应该有Master和Worker进程存在。

         进入Spark的Web管理页面:http://localhost:8080

 

Ø  停止进程

         stop-slaves.sh

         stop-master.sh

2.5     程序运行方式

2.5.1         local 模式

#本地模式两线程运行

./bin/run-example SparkPi 10 --masterlocal[2]

2.5.2         Spark Standalone

#集群模式运行

./bin/spark-submit \

 --class org.apache.spark.examples.SparkPi \

 --master spark://master:7077 \

 lib/spark-examples-1.3.0-hadoop2.4.0.jar \

  100

 

2.5.3         Spark on YARN

#集群上 yarn-cluster 模式运行

./bin/spark-submit \

   --class org.apache.spark.examples.SparkPi \

   --master yarn-cluster \  # canalso be `yarn-client`

         --executor-memory4g \

         --executor-cores4 \

         --conf"spark.yarn.am.waitTime=1800s" \

         --nameSpark_examples \

   lib/spark-examples*.jar \

   10

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值