spark集群安装

    xiaoxiao2024-10-26  82

    机器部署

    准备两台以上的Linux服务器,我这里准备了5台服务器,集群思路大致如下:其中Zookeper是可选项,

    下载spark安装包

    配置spark

    进入到Spark安装目录

    cd /home/ws/bigdata/spark-2.3.3-bin-hadoop2.7/

    进入conf目录并重命名并修改spark-env.sh.template文件

    cd conf/ mv spark-env.sh.template spark-env.sh vi spark-env.sh

    在该配置文件中添加如下配置  

    export JAVA_HOME=/usr/java/jdk1.8.0_111 # 注意,这里如果写的是主机名,一定要有主机名的IP地址的映射 export SPARK_MASTER_IP=node1 export SPARK_MASTER_PORT=7077

    保存退出

    重命名并修改slaves.template文件

    mv slaves.template slaves vi slaves

    在该文件中添加子节点所在的位置(Worker节点)

    node2 node3 node4 node5

     

    保存退出

    将配置好的Spark拷贝到其他节点上(其他节点照做)

    scp -r spark-2.1.0-bin-hadoop2.6/ ws2@node2:/home/ws2/data

     

    Spark集群配置完毕,目前是1个Master,3个Work,在node1启动Spark集群

    未安装Hadoop建议只启动master进程

    /home/ws/bigdata/spark-2.3.3-bin-hadoop2.7/sbin/start-master.sh

    在work结点启动

    /home/ws2/bigdata/spark-2.3.3-bin-hadoop2.7/sbin/start-slave.sh node1:7077

    启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://node1:8080/

    注:此时只打开了一个work结点

    到此为止,Spark集群安装完毕,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,配置方式比较简单:

    运行第一个程序

    在spark安装目录下有一个example,内置了一个可以运行的程序,利用蒙特·卡罗算法求PI,执行下列语句,其中100是算法的参数

    bin/spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.3.3.jar 100

    运行结果

    2019-05-26 10:19:36 INFO DAGScheduler:54 - Job 0 finished: reduce at SparkPi.scala:38, took 7.568060 s Pi is roughly 3.1417631141763116

     

    最新回复(0)