Spark集群安装
机器
如果只有3台主机,可以按照如下规划来部署安装
IP | host |
---|---|
172.16.185.68 | hadoop1 |
172.16.185.69 | hadoop2 |
72.16.185.70 | hadoop3 |
Hadoop集群安装
Scala安装
详见Scala安装
下载
进入官网下载,当前使用 spark-2.2.0-bin-hadoop2.6.tgz 版本
,或者百度云下载
解压
tar -zxvf spark-2.2.0-bin-hadoop2.6.tgz -C /data/
配置Spark环境
此处需要配置的文件为两个 spark-env.sh和slaves
配置spark-env.sh
首先我们把缓存的文件spark-env.sh.template改为spark识别的文件spark-env.sh
cp conf/spark-env.sh.template conf /spark-env.sh
在文件最后加入
export JAVA_HOME=/data/java
export SCALA_HOME=/data/scala-2.12.3
export HADOOP_HOME=/data/hadoop-2.5.2
export HADOOP_CONF_DIR=/data/hadoop-2.5.2/etc/hadoop
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_HOST=hadoop1
export SPARK_LOCAL_IP=hadoop1
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_HOME=/data/spark-2.2.0-bin-hadoop2.6
export SPARK_DIST_CLASSPATH=$(/data/hadoop-2.5.2/bin/hadoop classpath)
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
vi conf/slaves
hadoop1
hadoop2
hadoop3
同步到hadoop2和hadoop3机器
在hadoop2和hadoop3上分别修改/etc/profile,增加Spark的配置,过程同Hadoop1一样。
在hadoop2和hadoop3上分别修改 $SPARK_HOME/conf/spark-env.sh,将export SPARK_LOCAL_IP=hadoop1改成hadoop2和hadoop2对应节点的IP。
scp -r /data/spark-2.2.0-bin-hadoop2.6/ hadoop2:/data/spark-2.2.0-bin-hadoop2.6/
scp -r /data/spark-2.2.0-bin-hadoop2.6/ hadoop3:/data/spark-2.2.0-bin-hadoop2.6/
启动Spark集群
因为我们只需要使用hadoop的HDFS文件系统,所以我们并不用把hadoop全部功能都启动。
start-dfs.sh
启动Spark
/data/spark-2.2.0-bin-hadoop2.6/sbin/start