您的位置:首页 > 其它

spark新手入门安装+小练习

2018-04-07 20:04 211 查看
解压安装包到指定位置

tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz -C /usr/local

进入到Spark安装目录cd /usr/local/spark-1.5.2-bin-hadoop2.6进入conf目录并重命名并修改spark-env.sh.template文件cd conf/mv spark-env.sh.template spark-env.shvi spark-env.sh
在该配置文件中添加如下配置export JAVA_HOME=/usr/java/jdk1.7.0_45export SPARK_MASTER_IP=masterexport SPARK_MASTER_PORT=7077保存退出重命名并修改slaves.template文件mv slaves.template slavesvi slaves在该文件中添加子节点所在的位置(Worker节点)node1node2保存退出将配置好的Spark拷贝到其他节点上scp -r spark-1.5.2-bin-hadoop2.6/ node2.bw.cn:/usr/local/scp -r spark-1.5.2-bin-hadoop2.6/ node3.bw.cn:/usr/local/Spark集群配置完毕,目前是1个Master,2个Work,在node1.bw.cn上启动Spark集群在sbin下启动命令: ./start-all.sh --master spark://kaoshi1:7077 --total-executor 1
启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://node1.bw.cn的IP:8080/



启动spark shell/usr/local/spark/bin/spark-shell \
--master spark://kaoshi1:7077 \
--executor-memory 512m \
--total-executor-cores 1


参数说明:--master spark://kaoshi1:7077 指定Master的地址--executor-memory 2g 指定每个worker可用内存为2G
--total-executor-cores 2 指定整个集群使用的cup核数为2个
注意:
如果启动spark shell时没有指定master地址,但是也可以正常启动spark shell和执行spark shell中的程序,其实是启动了spark的local模式,该模式仅在本机启动一个进程,没有与集群建立联系。
Spark Shell中已经默认将SparkContext类初始化为对象sc。用户代码如果需要用到,则直接应用sc即可

小练习
在sparck shell 中编写wordcount程序1.首先启动hdfs2.向hdfs上传一个文件到hdfs://node1.bw.cn:9000/words.txt
3.在spark shell中用scala语言编写spark程序  把统计的结果再次放到hdfs中
sc.textFile("hdfs://node1.bw.cn:9000/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://node1.bw.cn:9000/out")下面这种是把结果输出到控制台



4.使用hdfs命令查看结果hdfs dfs -ls hdfs://node1.bw.cn:9000/out/p*



说明:sc是SparkContext对象,该对象时提交spark程序的入口textFile(hdfs://node1.bw.cn:9000/words.txt)是hdfs中读取数据flatMap(_.split(" "))先map在压平map((_,1))将单词和1构成元组reduceByKey(_+_)按照key进行reduce,并将value累加
saveAsTextFile("hdfs://node1.bw.cn:9000/out")将结果写入到hdfs中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark idea