Spark实验报告

    xiaoxiao2022-07-02  98

    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 \

    最新回复(0)