目录第1章安装部署Spark..........................................................................................................................................21解压并安装Spark.......................................................................................................................................22配置Hadoop环境变量..............................................................................................................................23验证Spark安装..........................................................................................................................................3第2章Spark上机操作.............................................................................................................................................51Sparkshell使用...........................................................................................................................................52运行Spark程序.........................................................................................................................................5第3章开发Spark分布式程序...............................................................................................................................61安装idea.....................................................................................................................................................62编写案例...................................................................................................................................................143编写与调试Spark程序............................................................................................................................174分布式运行spark程序............................................................................................................................215spark程序设计.........................................................................................................................................226kafka的安装..............................................................................................................................................237Streaming处理socket数据.....................................................................................................................248Streaming处理kafka数据.......................................................................................................................25第1章安装部署Spark该部分的安装需要在Hadoop已经成功安装的基础上,并且要求Hadoop已经正常启动。我们将Spark安装在HadoopMaster节点上。所以下面的所有操作都在HadoopMaster节点上进行。下面所有的操作都使用zkpk用户,切换zkpk用户的命令是:密码是:zkpk1解压并安装Spark注意:本文档使用的spark是1.4.1版本,实际培训时可能会改变,在进行操作时,请替换成实际的版本。使用下面的命令,解压Spark安装包:执行一下ls-l命令会看到下面的图片所示内容,这些内容是Spark包含的文件:2配置Hadoop环境变量在Yarn上运行Spark需要配置HADOOP_CONF_DIR、YARN_CONF_DIR和HDFS_CONF_DIR环境变量命令:su-zkpkcd/home/zkpk/softwaremvspark-1.5.2-bin-2.5.2.tgz~/appcdapptar-zxvfspark-1.5.2-bin-2.5.2.tgzcdspark-1.5.2-bin-2.5.2第4章安装部署Spark在下面添加如下代码:保存关闭后,执行:使得环境变量生效。3验证Spark安装进入Spark安装主目录,执行命令后会出现如下界面:查看执行结果需要在计算节点上。执行下面代码:gedit~/.bash_profileexportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexportHDFS_CONF_DIR=$HADOOP_HOME/etc/hadoopexportYARN_CONF_DIR=$HADOOP_HOME/etc/hadoopsource~/.bash_profilecd~/app/spark-1.5.2-bin-2.5.2./bin/spark-submit--classorg.apache.spark.examples.SparkPi\--masteryarn-cluster\--num-executors3\--driver-memory1g\--executor-memory1g\--executor-cores1\lib/spark-examples*.jar\10sshslavecd$HADOOP_HOME/logs/userlogs/cdapplication_1418744710529_0001/第4章安装部署Spark注:其中红色部分为上面标志的identifier也可以使用下面命令查看结果(在master或slave节点上运行下面命令):显示下面结果(结果可能会有微小差别):表示Spark安装正常catcontainer_1418744710529_0001_01_000001/stdoutyarnlogs-applicationIdapplication_1418744710529_0001Piisroughly3.140192第2章Spark上机操作1Sparkshell使用进入sparkshell:bin/spark-shell(1)创建RDDscalavalnums=sc.parallelize(List(1,2,3))注意:“scala”是提示符,你只需要输入后面的代码(2)返回前N个scalanums.take(2)(3)计算总元素数scalanums.count()(4)元素求和scalanums.reduce(_+_)(5)key-valuevalwords=sc.parallelize(List((spark,1),(hadoop,1),(spark,1)))valwordsGroup=words.groupByKey().collect对比:words.groupByKey(2).collectwords.reduceByKey(_+_).collectwords.reduceByKey(_+_,2).collect(6)action操作valnums=sc.parallelize(List(1,2,3))nums.saveAsTextFile(output)nums.saveAsSequenceFile(output)查看本地是否有output文件,内容是1,2,3打开浏览器,查看运行界面:运行Spark程序本地运行SparkPi程序:第6章开发Spark分布式程序bin/spark-submit--masterlocal--classorg.apache.spark.examples.SparkPilib/spark-examples-1.4.1-hadoop2.6.0-cdh5.4.4.jar5分布式运行SparkPi程序:bin/spark-submit--masteryarn-cluster--classorg.apache.spark.examples.SparkPilib/spark-examples-1.4.1-hadoop2.6.0-cdh5.4.4.jar5第3章开发Spark分布式程序1安装idea解压ideatarzxvfideaIC-14.1.4.tar.gzcdideaIC-14.1.4运行idea第一步./bin/idea.sh步骤一:选择模式第6章开发Spark分布式程序步骤二:安装第6章开发Spark分布式程序步骤四:第6章开发Spark分布式程序步骤五:启动idea第6章开发Spark分布式程序步骤六:安装插件第6章开发Spark分布式程序步骤7:选择scala第6章开发Spark分布式程序步骤8:选择scala插件步骤9安装成功第6章开发Spark分布式程序步骤10:重启第6章开发Spark分布式程序2编写案例创建工作目录mkdir–p/data1/src步骤1:打开intellijidea,进入主界面:第6章开发Spark分布式程序步骤2:选择“CreateNewProject”,进入如下界面,选择“Scala”:步骤3:设置“Projectname”,配置scala安装路径:第6章开发Spark分布式程序第6章开发Spark分布式程序3编写与调试Spark程序步骤1:创建一个package,鼠标放在src目录下,点击右键,依次选择“New”“Package”,在