小城镇建设的网站中的主要观点,黄骅港属于哪个市,网站建设项目建议书的内容,桂林人论坛户外部落注#xff1a;本文是建立在hadoop已经搭建完成的基础上进行的。 Apache Spark是一个分布式计算框架#xff0c;旨在简化运行于计算机集群上的并行程序的编写。该框架对资源调度#xff0c;任务的提交、执行和跟踪#xff0c;节点间的通信以及数据并行处理的内在底层操作都进…注本文是建立在hadoop已经搭建完成的基础上进行的。 Apache Spark是一个分布式计算框架旨在简化运行于计算机集群上的并行程序的编写。该框架对资源调度任务的提交、执行和跟踪节点间的通信以及数据并行处理的内在底层操作都进行了抽象。它提供了一个更高级别的API用于处理分布式数据。从这方面说它与Apache Hadoop等分布式处理框架类似。但在底层架构上Spark与它们有所不同。 Spark起源于加利福利亚大学伯克利分校的一个研究项目。学校当时关注分布式机器学习算法的应用情况。因此Spark从一开始便为应对迭代式应用的高性能需求而设计。在这类应用中相同的数据会被多次访问。该设计主要靠利用数据集内存缓存以及启动任务时的低延迟和低系统开销来实现高性能。再加上其容错性、灵活的分布式数据结构和强大的函数式编程接口Spark在各类基于机器学习和迭代分析的大规模数据处理任务上有广泛的应用这也表明了其实用性。 Spark支持四种运行模式。 本地单机模式所有Spark进程都运行在同一个Java虚拟机Java Vitural MachineJVM中。集群单机模式使用Spark自己内置的任务调度框架。基于MesosMesos是一个流行的开源集群计算框架。基于YARN即Hadoop 2它是一个与Hadoop关联的集群计算和资源调度框架。 spark是由Scala语言编写的但是运行的环境是jvm所以需要安装JDK 编译过程Python、java、Scala编写的代码 - scala编译器编译解释生成class文件 - 由jvm负责执行class文件与java代码执行一致 Apache Hadoop YARN Yet Another Resource Negotiator另一种资源协调者是一种新的 Hadoop 资源管理器它是一个通用资源管理系统可为上层应用提供统一的资源管理和调度它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处 由于 spark是由Scala语言编写的所以依赖Scala环境且由Scala编写的执行代码也需要环境进行编译。 hdfs是作为spark的持久层所以需要安装Hadoop同时如果需要配置spark on yarn则Hadoop需要安装yarn版本的 spark官方详细参数配置手册http://spark.apache.org/docs/latest/configuration.html 下载地址http://spark.apache.org/downloads.html --------------------------------------------------------------------------------------------------------- 1、安装Scala 官网下载地址 http://www.scala-lang.org/download/all.html 下载后解压到指定目录,例如 /usr/local/scala # tar -zxvf scala-2.11.8.tgz ; mv scala-2.11.8 /usr/local/scala 配置环境变量: # vim /etc/profile export SCALA_HOME/usr/local/scala/ export PATH$SCALA_HOME/bin:$PATH 2、编辑conf/spark-env.sh文件 export HADOOP_HOME/usr/local/hadoopexport HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoopexport SPARK_MASTER_IPdataMaster30export SPARK_EXECUTOR_INSTANCES3export SPARK_EXECUTOR_CORES3export SPARK_EXECUTOR_MEMORY8gexport SPARK_DRIVER_MEMORY2g 3、编辑slaves文件 #localhost
dataSlave31
dataSlave32
dataSlave33
dataSlave34
dataSlave35 4、启动spark集群 /usr/local/spark/sbin/start-all.sh 关闭spark集群 /usr/local/spark/sbin/stop-all.sh 5、检测是否安装成功: # jps (Master节点) 此时会多出现一个Master进程 1701 Master1459 SecondaryNameNode2242 NameNode1907 ResourceManage # jps (Worker节点) 此时会多出现一个Worker进程 5387 Worker4269 DataNode4398 NodeManager 执行以下测试命令查看spark单机运行是否成功 /usr/local/spark/bin/run-example SparkPi 1000 执行以下测试命令查看spark集群运行是否成功 cd /usr/local/spark ./bin/spark-submit --master spark://master60:7077 --class org.apache.spark.examples.SparkPi lib/spark-examples-1.6.1-hadoop2.6.0.jar 1000 如果没有报错的话则证明spark确实部署成功。 6、查看集群状态: http://master30:8080/ 最后设置开机自启动 vim /etc/rc.local su - hadoop -c /usr/local/hadoop/sbin/start-all.shsu - hadoop -c /usr/local/spark/sbin/start-all.sh