spark的安装和配置

    xiaoxiao2025-09-01  3

    一、配置local单机模式(spark1中,解压即可用)

        1.上传至linux(以spark-1.6.1-bin-hadoop2.6.tgz为例)

        2.解压jar 包

            [root@spark1 soft]# tar -zxvf spark-1.6.1-bin-hadoop2.6.tgz

        3.测试

       [root@spark1 spark-1.6.1]# ./bin/spark-submit -class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.6.1-hadoop2.6.0.jar 100

             其中SparkPi:指定运行程序(计算π的值),master:指定模式,local为本地模式,[1]表示一个线程,100表示传递的参数

             最后得到的结果形如:Pi is roughly 3.1425304

    二、配置standalone集群模式(spark内置的主从,master,worker)

        1.上传至linux(spark1,spark2,spark3)

        2.解压jar 包

            [root@spark1 soft]# tar -zxvf spark-1.6.1-bin-hadoop2.6.tgz

        3.修改配置文件(配置三个节点)

            [root@spark1 conf]# cp slaves.template slaves

            [root@spark1 conf]# vi slaves(配置运行worker的机器)

            添加如下内容:

                    --------------------------------------------------                 spark2                 spark3

                    --------------------------------------------------  

             这样使spark1只运行cluster

            [root@spark1 conf]# cp spark-env.sh.template spark-env.sh

            [root@spark1 conf]# vi spark-env.sh

            添加如下内容:

                    --------------------------------------------------

                    export JAVA_HOME=/opt/soft/jdk1.8.0_11                 export SPARK_MASTER_IP=spark1                 export SPARK_MASTER_PORT=7077                 export SPARK_WORKER_CORES=2                 export SPARK_WORKER_INSTANCES=1

                    export SPARK_WORKER_MEMORY=1g

                    注: 配置master高可用:在master节点上配置,每启动一个master都会向zk传递数据

                           记得配置master节点对其他节点的免密码登录,另外修改export SPARK_MASTER_IP

                           为对应所需的主节点,再启动sbin/start-master.sh(下面内容在该配置文件中配置,不配置高可用则不需添加)

     export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=192.168.13.135:2181,192.168.13.136:2181,192.168.13.137:2181" -

        4.运行

            [root@spark1 spark-1.6.1]# ./sbin/start-all.sh

        5.测试

        1)client模式

      [root@spark1 spark-1.6.1]# ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark1:7077 --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.6.1-hadoop2.6.0.jar 100

               其中--master spark指定standlone模式     2)cluster模式(结果spark1:8080里面可见!)   [root@spark1 spark-1.6.1]#./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://spark1:7077 --deploy-mode cluster --supervise --executor-memory 1G --total-executor-cores 1 ./lib/spark-examples-1.6.1-hadoop2.6.0.jar 100

                注:如果内存不够时可以将1G改下,如512M

    三、配置yarn集群模式

        1.yarn模式不需要运行standalone模式,关闭         [root@spark1 spark-1.6.1]# ./sbin/stop-all.sh     2.上传linux(spark1,spark2,spark3)     3.解压jar包     4.修改配置文件(spark-env.sh)     export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop     export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop     export SPARK_HOME=/opt/soft/spark-1.6.1     export SPARK_JAR=/opt/soft/spark-1.6.1/lib/spark-assembly-1.6.1-hadoop2.6.0.jar     export PATH=$SPARK_HOME/bin:$PATH        其中HADOOP_HOME必须在环境变量中已配好     5.测试     首先启动zookeeper、hdfs和yarn     1)client模式     [root@spark1 spark-1.6.1]#./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.6.1-hadoop2.6.0.jar 100     2)cluster模式:(结果spark1:8088里面可见)     [root@spark1 spark-1.6.1]#./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.6.1-hadoop2.6.0.jar 100   

    最新回复(0)