spark集群搭建
来源:互联网 发布:淘宝复核阿里钱盾 编辑:程序博客网 时间:2024/05/21 22:34
一、集群简介
Spark集群是在hadoop集群的基础上搭建的,但是由于本机内存太小,不能成功运行三台虚拟机,所以spark集群只包含两台虚拟机。
集群版本介绍:
spark spark-1.5.2-bin-hadoop2.6.tgz
hadoop hadoop-2.6.0-64.tar.gz
jdk jdk-8u66-linux-x64.rpm
scala scala-2.11.7.tgz
master 192.168.10.1
slave1 192.168.10.3
二、spark部署过程
1、配置安装路径
$ mkdir -p /application/spark$ mkdir -p /usr/scala$ chown -R hadoop:hadoop /application/spark
2、安装Scala
1)上传Scala至/usr/local路径下
# tar -zxvf scala-2.11.7.tgz# ln -s /usr/local/scala-2.11.7.tgz /usr/local/scala
2)配置环境变量
# vi /etc/profile.d/java.sh
文件内容:
export JAVA_HOME=/usr/local/jdkexport HADOOP_HOME=/application/hadoop/hadoopexport SCALA_HOME=/usr/local/scalaexport PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$PATH(为一行)
使用source命令使得环境变量立即生效
source /etc/profile
检查环境变量是否生效
# java -version# scala -version
3、安装hadoop
1)上传spark-1.5.2-bin-hadoop2.6.tgz至/application/spark/下
$ tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz$ ln -s /application/spark/spark-1.5.2-bin-hadoop2.6.tgz /application/spark/spark
2)配置环境变量
$ vi /etc/profile.d/java.sh
export SPARK_HOME=/application/spark/sparkexport PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:/SCALA_HOME/bin:$PATH(为一行)
3)修改配置文件
Spark主要修改2个文件即可spark-env.sh和slaves
切换到/application/spark/conf/目录
使用cp命令复制一份spark-env.sh
$ cp spark-env.sh.template spark-env.sh$ vi spark-env.sh
编辑spark-env.sh,在末尾追加下列内容:
export JAVA_HOME=/usr/local/jdkexport SCALA_HOME=/usr/local/scalaexport SPARK_MASTER_IP=masterexport SPARK_WORKER_MEMORY=512m #指定的worker节点能够最大分配给Executors的内存大小export HADOOP_CONF_DIR=/application/hadoop/hadoop/etc/hadoopexport HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"(为一行)
使用cp命令复制一份slaves
$ cp slaves.template slaves$ vi slaves
修改slaves文件,添加如下内容
master
slave1
slave2
三、部署之后运行测试程序
1、启动Spark
首先启动hadoop
$ /application/hadoop/hadoop/sbin/start-dfs.sh$ /application/hadoop/hadoop/sbin/start-yarn.sh
切换到/application/spark/spark/sbin/,执行./start-all.sh
$ ./sart-all.sh
切换到/application/spark/spark/bin/,执行./spark-shell
$ ./spark-shell
执行时间较长,当出现scala> 时表示已成功启动
可通过http://master:8080/或者http://master:4040/检验spark是否正常启动。
其中http://master:8080/检验结果如下图所示:
四、部署后成功运行的截图
以WordCount为例,运行示例程序
切换到/application/spark/spark/sbin/,执行./start-all.sh后如下图所示:
切换到/application/spark/spark/bin/,执行./spark-shell后如下图所示:
在scala>后执行语句
var textcount = sc.textFile(“hdfs://master:9000/input/data”).filter(line=>line.contains(“hello”)).count()
此语句会计算在data文件中包含单词“hello”的个数,运行结果如下:
结果出现textcount:Long=6
在hadoop中运行同一文件出现的结果如下:
由上面两张图可知,运行成功且结果正确。
此时也可以到http://master:4040/查看任务运行详情,如下图所示:
输入exit,退出spark-shell
关闭spark切换到/application/spark/spark/sbin,输入./stop-all.sh
五、部署过程中遇到的问题。
1、在搭建hadoop时,我是用的是1.6版本的jdk,在搭建完成spark集群后却启动不了,等网上查找信息之后才发现spark1.5版本与jdk1.6版本不兼容,故又卸载jdk,重新安装1.8版本。
2、在搭建spark完成后,启动spark需要很长的时间,大概15分钟后还是不能成功启动,检查无其他错误后,故而想到也许是内存不够,支持不了,所以减少虚拟机个数,增大虚拟机内存和spark需要的内存大小,之后即可以成功启动。
- 搭建spark-hadoop集群
- 搭建Spark分布式集群
- spark集群搭建
- hadoop+spark集群搭建
- 搭建Spark分布式集群
- spark测试集群搭建
- Spark集群搭建
- 搭建spark集群
- 搭建Spark集群
- Spark集群环境搭建
- spark集群搭建
- spark集群搭建
- Spark集群搭建
- Hadoop+Spark集群搭建
- 搭建Spark集群
- Spark集群的搭建:
- Spark集群环境搭建
- Spark集群搭建
- 浅谈套接字编程—TCP
- php中 如何生成jsonp数据接口及如何调用?
- 阐述线程状态之间的关系
- [Java8 Collection源码+算法+数据结构]-List(二)
- 安卓平台架构及特性
- spark集群搭建
- 素性测试
- Android 首个Activity启动动画设置
- JavaScript计时器
- 修改Python IDLE代码配色及语法高亮主题
- C++算法从入门到放弃-无向图(1)
- 设备管理信息系统
- PID-4769-Animals
- hex2bin