spark2.2.0-hadoop2.6.0预编译集群安装

1、下载解压

将下载好的spark-2.2.0-bin-hadoop2.6.tgz包移动到netcloud03 netcloud04 netcloud05 各节点的/opt目录下并解压

2、Spark基于Standalone运行模式进行配置

 1)测试

   cd /opt/spark-2.2.0-bin-hadoop2.6

     ./bin/spark-submit  --class org.apache.spark.examples.SparkPi  --master local[8]  examples/jars/spark-examples_2.11-2.2.0.jar  100

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

2)配置(spark内置的主从,master,worker)

Note:主节点是netcloud03,从节点netcloud04、netcloud05

进入conf目录下重命名 slaves.template 为slaves  、spark-env.sh.template 为 spark-env.sh

vi slaves :添加从节点(worker节点)netcloud04、netcloud05

vi spark-env.sh   添加如下内容:

                export JAVA_HOME=/usr/local/jdk1.8.0
                export SPARK_MASTER_IP=netcloud03
                export SPARK_MASTER_PORT=7077                         

                export SPARK_MASTER_WEBUI_PORT=18080
                export SPARK_WORKER_WEBUI_PORT=18081

                export SPARK_WORKER_PORT=7078
                # export SPARK_WORKER_INSTANCES=1       #spark2.x以后不需要配置

                export SPARK_WORKER_CORES=2
                export SPARK_WORKER_MEMORY=2g

3、Spark基于Yarn运行模式进行配置(企业生产环境)

 1)测试

   cd /opt/spark-2.2.0-bin-hadoop2.6

     ./bin/spark-submit  --class org.apache.spark.examples.SparkPi  --master local[8]  examples/jars/spark-examples_2.11-2.2.0.jar  100

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

2)配置(spark内置的主从,master,worker)

Note:主节点是netcloud03,从节点netcloud04、netcloud05

进入conf目录下重命名 slaves.template 为slaves  、spark-env.sh.template 为 spark-env.sh

vi slaves :添加从节点(worker节点)netcloud04、netcloud05

vi spark-env.sh   添加如下内容:

                export JAVA_HOME=/usr/local/jdk1.8.0

                export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.5/etc/hadoop
                export SPARK_HOME=/opt/spark-2.2.0-bin-hadoop2.6

                export SPARK_MASTER_IP=netcloud03
                export SPARK_MASTER_PORT=7077                         

                export SPARK_MASTER_WEBUI_PORT=18080
                export SPARK_WORKER_WEBUI_PORT=18081

                export SPARK_WORKER_PORT=7078
                # export SPARK_WORKER_INSTANCES=1       #spark2.x以后不需要配置

                export SPARK_WORKER_CORES=2
                export SPARK_WORKER_MEMORY=2g

              #以下内容是实际生产环境的性能优化的选配 这里我们先不做配置

               #export SPARK_EXECUTOR_INSTANCES=1

                export SPARK_EXECUTOR_CORES=4
                export SPARK_EXECUTOR_MEMORY=4G

                export SPARK_DRIVER_MEMORY=6G

                export SPARK_WORKER_DIR=/opt/spark-2.2.0/work
                export SPARK_LOG_DIR=/opt/spark-2.2.0/logs
                export SPARK_PID_DIR=/opt/spark-2.2.0/tmp1

               #与pyspark的集成时需要的配置(选配)

                export PYSPARK_PYTHON=/opt/python2/bin/python
                export PYSPARK3_PYTHON=/opt/py3.5/bin/python

                注: 配置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=netcloud03:2181,netcloud04:2181,netcloud05:2181"

4、在yarn模式下启动

[root@netcloud03 spark-2.2.0-bin-hadoop2.6]# ./sbin/start-all.sh 

5、任务提交测试

 1)client模式
    [root@netcloud03 spark-2.2.0-bin-hadoop2.6]#./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client --executor-memory 1G --num-executors 1 examples/jars/spark-examples_2.11-2.2.0.jar 100
    2)cluster模式:(结果spark1:18080里面可见)
   [root@netcloud03 spark-2.2.0-bin-hadoop2.6]#./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster --executor-memory 1G --num-executors 1 examples/jars/spark-examples_2.11-2.2.0.jar 100
       注:如果内存不够时可以将1G改下,如512M
    内存不够可能出现的错误:WARN cluster.YarnScheduler: Initial job has not accepted any resources; check your  cluster UI to ensure that workers are registered and have sufficient resources

6、IDEA应用程序开发

    在IDEA下开发完应用程序后,将应用程序打包成的jar文件提交到spark集群中以yarn的运行模式执行。

    Note:spark2.2.0版本及以后版本 应用程序设置master 为 yarn-cluster    spark2.0 之前的版本可以设置为local 然后以yarn    的模式提交到集群中运行。 有待验证。

  

猜你喜欢

转载自blog.csdn.net/yangshaojun1992/article/details/84170191