• Spark集群部署


      Spark是通用的基于内存计算的大数据框架,可以和hadoop生态系统很好的兼容,以下来部署Spark集群

      集群环境:3节点 Master:bigdata1 Slaves:bigdata2,bigdata3

      Master负责任务的分发,与集群状态的显示

      Slaves运行具体的Worker任务,最后交由Executor执行任务代码

      集群搭建之前,必须满足如下条件:

      1、集群主机名和hosts文件映射一一对应

      2、集群ssh免密登录配置

      3、集群每个节点防火墙关闭

      4、JDK正确安装

      5、Scala正确安装

      6、Hadoop集群安装,因为Spark存储层要用到HDFS,所以应该至少保证HDFS服务的正常运行,hadoop集群可以在yarn上,也可以由zookeeper协调,这个都没问题,最重要的是hadoop集群能正常运行

      然后可以开始安装Spark,Spark官方网站是:http://spark.apache.org/,直接去官方网站下载spark安装包即可,这里安装的是1.x的最新版1.6.2,2.0是刚出来,暂时没有使用,包名为:spark-1.6.2-bin-hadoop2.6.tgz 这里已经安装的hadoop版本为hadoop 2.6.0,下载之后上传至服务器准备安装

      在bigdata1 Master节点执行如下命令解压,目录可以自定义,这里安装位置是/bigdata/spark

    tar -xvzf spark-1.6.2-bin-hadoop2.6.tgz
    mkdir /bigdata/spark
    mv spark-1.6.2-bin-hadoop2.6 /bigdata/spark/
    cd /bigdata/spark/spark-1.6.2-bin-hadoop2.6/

      配置文件目录在安装目录下的conf下,然后从默认模板中拷贝出要编辑的配置文件:

    cp conf/spark-env.sh.template conf/spark-env.sh
    cp conf/slaves.template conf/slaves

      网上说的可以添加spark到环境变量中,这个是为了方便启动和调试,是可选的, 

      执行 vim conf/slaves 配置运行Worker任务的节点,和hadoop的slaves配置类似,单机环境中默认或者改为本地主机名,这里是bigdata2,bigdata3

      

      执行 vim conf/spark-env.sh 编辑spark启动加载脚本,在最后添加如下配置:

    # JDK目录
    export JAVA_HOME=/usr/local/java/jdk1.8.0_73
    # Scala目录
    export SCALA_HOME=/usr/local/scala/scala-2.11.8
    # Master IP地址
    export SPARK_MASTER_IP=192.168.0.187
    # Worker运行内存
    export SPARK_WORKER_MEMORY=1024m
    # hadoop配置文件目录
    export HADOOP_CONF_DIR=/bigdata/hadoop/hadoop-2.6.0/etc/hadoop

      集群中Worker运行内存可以适当调整3g~8g的范围

      然后发送Spark到集群其他节点:

    scp -r spark/ bigdata2:/bigdata/
    scp -r spark/ bigdata3:/bigdata/

      最后启动Spark集群,在Master节点执行: sbin/start-all.sh 可以启动整个集群,通过执行jps可以看到Master运行的进程是Master,Slaves节点运行的进程是Worker

      

      

      另外也可以通过在Master节点分别执行 sbin/start-master.sh  和 sbin/start-slaves.sh  分别调起来master和全部子节点的worker进程,这样可以根据不同需要有选择的调起集群中的服务

      Spark的服务都启动之后,访问Master地址可以打开相应的管理界面,地址就是:http://ip:8080,会看到界面如下:

      

      通过界面可以方便的查看并管理相应的端口号,配置项,Workers节点,正在运行的应用任务等

      通过执行 bin/spark-shell 或者指定相应的参数 bin/spark-shell --executor-memory 1g --driver-memory 1g --master spark://bigdata1:7077 可以进入scala交互式命令行界面,在这里可以进行一些测试等

      

      到这里,Spark集群就部署完毕了

  • 相关阅读:
    php中的高危函数
    PHP 站点相对包含,路径的问题解决方法(include,require)
    PHP中::、->、self、$this操作符的区别
    C#常用类库(100多个)
    Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现
    转载:Android调用相册、拍照实现缩放、切割图片
    在浏览器上直接输入url 时,中文传参乱码问题
    一个asp采集程序
    c#微信开发 转
    如何使用JS来检测游览器是什么类型,或android是什么版本号- 转载
  • 原文地址:https://www.cnblogs.com/freeweb/p/5773619.html
Copyright © 2020-2023  润新知