6.Spark环境搭建
6.1.Spark的运行模式
local
standalone
mesos
yarn
6.2.Spark的集群搭建
1.安装JDK(建议JDK7以上)
2.安装Scala(建议2.10.4)
3.安装Hadoop2.x(至少HDFS)
Configuration
hadoop-env.sh
exportJAVA_HOME=/opt/modules/jdk1.7.0_67
core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-spark.dragon.org:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/data02/hadoop-2.6.0-cdh5.4.0/data/tmp</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
slaves
hadoop-spark.dragon.org
Start HDFS
NameNodeFormat
bin/hdfsnamenode -format
StartNN/DN
sbin/hadoop-daemon.shstart namenode
sbin/hadoop-daemon.shstart datanode
WEBUI
http://hadoop-spark.dragon.org:50070
4.安装Spark 集群
解压spark-bin安装包,要跟hadoop版本匹配
修改spark-env.sh文件
exportJAVA_HOME=/home/hadoop/app/jdk1.7.0_65
#指定standalone模式下master所在的主机
export SPARK_MASTER_IP=weekend01
#指定每一个worker上的可用虚拟core数
export SPARK_WORKER_CORES=2
#指定每一个worker上的可用内存
export SPARK_WORKER_MEMORY=1g
#设置hadoop集群的配置文件所在目录
exportHADOOP_CONF_DIR=/home/hadoop/app/hadooplk/etc/hadoop
修改slaves文件指定worker所在的机器
weekend01
weekend02
weekend03
拷贝整个安装目录到各节点
5.测试Spark集群
scala> valrdd=sc.textFile("hdfs://hadoop-spark.dragon.org:8020/user/hadoop/data/wc.input")
scala> rdd.cache()
scala> valwordcount=rdd.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_)
scala> wordcount.take(10)
scala> valwordsort=wordcount.map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1))
scala> wordsort.take(10)
6.3.Spark基于zookeeper的HA机制
1.安装zookeeper及配置
1.上传zk安装包
2.解压
3.配置(先在一台节点上配置)
3.1添加一个zoo.cfg配置文件
$ZOOKEEPER/conf
mvzoo_sample.cfg zoo.cfg
3.2修改配置文件(zoo.cfg)
dataDir=/itcast/zookeeper-3.4.5/data
server.1=spark01:2888:3888
server.2=spark02:2888:3888
server.3=spark03:2888:3888
3.3在(dataDir=/linux/zookeeper-3.4.5/data)创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)
echo"1" > myid
3.4将配置好的zk拷贝到其他节点
scp-r / linux /zookeeper-3.4.5/ spark02:/ linux /
scp-r / linux /zookeeper-3.4.5/spark03:/ linux /
3.5注意:在其他节点上一定要修改myid的内容
在spark02应该讲myid的内容改为2 (echo"6" > myid)
在spark03应该讲myid的内容改为3 (echo"7" > myid)
4.启动集群
分别启动zk
./zkServer.shstart
5.检查是否运行正常
./zkServer.sh status
2.安装spark
1.解压spark-bin安装包,要跟hadoop版本匹配
2.修改spark-env.sh文件
exportJAVA_HOME=/linux/jdk1.7.0_65
#指定每一个worker上的可用虚拟core数
exportSPARK_WORKER_CORES=2
#指定每一个worker上的可用内存
exportSPARK_WORKER_MEMORY=1g
#设置hadoop集群的配置文件所在目录
exportHADOOP_CONF_DIR=/linux/hadooplk/etc/hadoop
#ZKHA
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER-Dspark.deploy.zookeeper.url=spark01:2181,spark02:2181,spark03:2181-Dspark.deploy.zookeeper.dir=/spark"
3.修改slaves文件指定worker所在的机器
spark01
spark02
spark03
拷贝整个安装目录到各节点
4.启动spark集群
[root@spark01spark-1.3.1]# sbin/start-all.sh
[root@spark02spark-1.3.1]# sbin/start-master.sh
[root@spark03spark-1.3.1]# sbin/start-master.sh
./spark-shell --masterspark://IP:Port
MASTER=spark://ip:post ./spark-shell