Spark集群安装
背景介绍最近调到大数据部门,Spark属于大数据非常重要的基础组件,研究研究也是非常必要的,现实验安装一下,以便对其部署运行机制有个深刻的认识。实验环境实验环境:Win7下vmware虚拟机操作系统:CentOS 6.5 x64JDK:jdk-8u161-linux-x64Scala:scala-2.12.4Hadoop:hadoop-2.7.5Spark:spar...
背景介绍
最近调到大数据部门,Spark属于大数据非常重要的基础组件,研究研究也是非常必要的,现实验安装一下,以便对其部署运行机制有个深刻的认识。
实验环境
实验环境:Win7下vmware虚拟机
操作系统:CentOS 6.5 x64
JDK:jdk-8u161-linux-x64
Scala:scala-2.12.4
Hadoop:hadoop-2.7.5
Spark:spark-2.2.1-bin-hadoop2.7
系统规划
准备3个节点,一个master节点,两个slave节点。
Master节点服务角色:namenode、SecondNameNode、ResourceManager
Slave节点服务角色:datanode、NodeManager
- 192.168.86.143;master.itclj.spark;1核:2G
- 192.168.86.144;slave1.itclj.spark;1核;1G
- 192.168.86.145;slave2.itclj.spark;1核;1G
前置条件
Spark依赖的环境比较多:JDK、Scala、hadoop、python、R。
具体各组件的安装请参考下面链接。
- JDK:http://www.itclj.com/blog/5920236681c06e672f942ad4
- Scala:http://www.itclj.com/blog/5a96b77881c06e695320efd6
- Hadoop:http://www.itclj.com/blog/5a9d4ebf81c06e695320efd8
- Python:
- R:
Spark配置
Spark程序配置(主节点)
把程序包上传到/home/hadoop/app并解压。
rz //选择上传程序包
tar –zxvf spark-2.2.1-bin-hadoop2.7.tgz
配置spark-env.sh和slaves
首先我们把缓存的文件spark-env.sh.template改为spark识别的文件spark-env.sh
cp conf/spark-env.sh.template conf /spark-env.sh
修改spark-env.sh文件
vim conf/spark-env.sh
在最后加入如下配置
export JAVA_HOME=/usr/java/jdk1.8.0_161
export SCALA_HOME=/usr/scala/scala-2.12.4
export HADOOP_HOME=/home/hadoop/app/hadoop-2.7.5
export HADOOP_CONF_DIR=/home/hadoop/app/hadoop-2.7.5/etc/hadoop
export SPARK_MASTER_IP=master.itclj.spark
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
变量说明
- JAVA_HOME:Java安装目录
- SCALA_HOME:Scala安装目录
- HADOOP_HOME:hadoop安装目录
- HADOOP_CONF_DIR:hadoop集群的配置文件的目录
- SPARK_MASTER_IP:spark集群的Master节点的ip地址
- SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小
- SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目
- SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目
修改slaves文件
vim conf/slaves
删除原来的location,添加下面配置
slave1.itclj.spark
slave2.itclj.spark
把配置好的spark程序包同步到2个slave节点。
scp -r /home/hadoop/app/spark-2.2.1-bin-hadoop2.7 hadoop@slave1.itclj.spark:/home/hadoop/app
scp -r /home/hadoop/app/spark-2.2.1-bin-hadoop2.7 hadoop@slave2.itclj.spark:/home/hadoop/app
启动Spark集群
因为我们只需要使用hadoop的HDFS文件系统,所以我们并不用把hadoop全部功能都启动。
启动hadoop的HDFS文件系统
start-dfs.sh
启动Spark
因为hadoop/sbin以及spark/sbin均配置到了系统的环境中,它们同一个文件夹下存在同样的start-all.sh文件。最好是打开spark-2.2.0,在文件夹下面打开该文件。
./sbin/start-all.sh
Master节点jps查看
Slave节点jps查看
成功打开Spark集群之后可以进入Spark的WebUI界面,可以通过
访问,可见有两个正在运行的Worker节点。
打开Spark-shell
使用
spark-shell
便可打开Spark的shell
同时,因为shell在运行,我们也可以通过
SparkMaster_IP:4040
访问WebUI查看当前执行的任务。
参考:
http://blog.csdn.net/weixin_36394852/article/details/76030317
http://blog.csdn.net/ouyangyanlan/article/details/52355350
更多推荐
所有评论(0)