什么时候网络推广,贵阳网站建设优化,天津购物网站搭建,看电影电视剧的好网站纤纤影院目录1、Spark集群安装1.1. 安装 2、启动Spark Shell2.1、启动spark shell2.2、在spark shell中编写WordCount程序 目录
1、Spark集群安装
1.1. 安装
1.1.1. 机器部署 准备两台以上Linux服务器#xff0c;安装好JDK1.7 1.1.2. 下载Spark安装包
下载地址#xff1a;ht…目录1、Spark集群安装1.1. 安装 2、启动Spark Shell2.1、启动spark shell2.2、在spark shell中编写WordCount程序 目录
1、Spark集群安装
1.1. 安装
1.1.1. 机器部署 准备两台以上Linux服务器安装好JDK1.7 1.1.2. 下载Spark安装包
下载地址http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz 上传解压安装包 上传spark-1.5.2-bin-hadoop2.6.tgz安装包到Linux上 解压安装包到指定位置 tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz -C /usr/local
1.1.3. 配置Spark 进入到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.sh vi spark-env.sh 在该配置文件中添加如下配置 export JAVA_HOME/usr/java/jdk1.7.0_45 export SPARK_MASTER_IPnode1 export SPARK_MASTER_PORT7077 保存退出 重命名并修改slaves.template文件 mv slaves.template slaves vi slaves 在该文件中添加子节点所在的位置Worker节点 node2 node3 node4 保存退出 将配置好的Spark拷贝到其他节点上 scp -r spark-1.5.2-bin-hadoop2.6/ node2:/usr/local/ scp -r spark-1.5.2-bin-hadoop2.6/ node3:/usr/local/ scp -r spark-1.5.2-bin-hadoop2.6/ node4:/usr/local/
Spark集群配置完毕目前是1个Master3个Work在node1.itcast.cn上启动Spark集群 /usr/local/spark-1.5.2-bin-hadoop2.6/sbin/start-all.sh
启动后执行jps命令主节点上有Master进程其他子节点上有Work进行登录Spark管理界面查看集群状态主节点http://node1:8080/
到此为止Spark集群安装完毕但是有一个很大的问题那就是Master节点存在单点故障要解决此问题就要借助zookeeper并且启动至少两个Master节点来实现高可靠配置方式比较简单 Spark集群规划node1node2是Masternode3node4node5是Worker 安装配置zk集群并启动zk集群 停止spark所有服务修改配置文件spark-env.sh在该配置文件中删掉SPARK_MASTER_IP并添加如下配置 export SPARK_DAEMON_JAVA_OPTS”-Dspark.deploy.recoveryModeZOOKEEPER -Dspark.deploy.zookeeper.urlzk1,zk2,zk3 -Dspark.deploy.zookeeper.dir/spark” 1.在node1节点上修改slaves配置文件内容指定worker节点 2.在node1上执行sbin/start-all.sh脚本然后在node2上执行sbin/start-master.sh启动第二个Master
2、启动Spark Shell
spark-shell是Spark自带的交互式Shell程序方便用户进行交互式编程用户可以在该命令行下用scala编写spark程序。
2.1、启动spark shell
这里需要先启动对应的Spark集群 /root/apps/spark/bin/spark-shell –master spark://shizhan:7077 –executor-memory 2g –total-executor-cores 2
参数说明 –master spark://shizhan: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即可
2.2、在spark shell中编写WordCount程序
1.首先启动hdfs
2.向hdfs上传一个文件到hdfs://192.168.112.200:9000/words.txt
3.在spark shell中用scala语言编写spark程序
sc.textFile(hdfs://192.168.112.200:9000/wordcount/input/README.txt).flatMap(_.split( )).map((_,1)).reduceByKey(__).saveAsTextFile(hdfs://192.168.112.200:9000/out1)
4.使用hdfs命令查看结果
hdfs dfs -ls hdfs://node1.itcast.cn:9000/out/p*
说明 sc是SparkContext对象该对象时提交spark程序的入口 textFile(hdfs://node1.itcast.cn:9000/words.txt)是hdfs中读取数据 flatMap(_.split(” “))先map在压平 map((_,1))将单词和1构成元组 reduceByKey()按照key进行reduce并将value累加 saveAsTextFile(“hdfs://node1.itcast.cn:9000/out”)将结果写入到hdfs中
对于SparkSQL及SparkRDD的介绍请参考以下两篇文章 SparkSQLhttps://blog.csdn.net/qq_16633405/article/details/79844593 SparkRDDhttps://blog.csdn.net/qq_16633405/article/details/79843539