一、服务器集群
服务器 | 安装内容 |
---|---|
node-i | scala-2.12.7; spark-2.3.2 |
node-ii | scala-2.12.7; spark-2.3.2 |
node-iii | scala-2.12.7; spark-2.3.2 |
node-iv | scala-2.12.7; spark-2.3.2 |
二、安装scala
从https://www.scala-lang.org/download/下载scala 2.12.7,并安装到/usr/local/scala目录下。执行如下命令:
mkdir -p /usr/local/scala
tar -zxvf scala-2.12.7.tgz -C /usr/local/scala
接下来配置环境变量,执行命令:vim /etc/profile,打开profile文件,在文件末尾添加scala配置:
export SCALA_HOME=/usr/local/scala/scala-2.12.7
export PATH=$PATH:$SCALA_HOME/bin
配置好scala环境变量后,执行命令:source /etc/profile,使环境配置生效。
三、搭建Spark集群
从http://spark.apache.org/downloads.html下载spark 2.3.2,在四个服务器中都安装配置Spark。在安装Spark前,先在搭建Hadoop集群,Hadoop集群搭建可以参考CentOS 7搭建Apache Hadoop 3.1.1集群。
1、安装Spark
安装到/usr/local/spark目录下。执行如下命令:
mkdir -p /usr/local/spark
tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C /usr/local/spark
接下来配置环境变量,执行命令:vim /etc/profile,打开profile文件,在文件末尾添加spark配置:
export SPARK_HOME=/usr/local/spark/spark-2.3.2-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
配置好spark环境变量后,执行命令:source /etc/profile,使环境配置生效。
2、配置Spark
执行命令:cd /usr/local/spark/spark-2.3.2-bin-hadoop2.7/conf,进入Spark配置目录,执行如下命令复制配置文件:
cp spark-env.sh.template spark-env.sh
vim /usr/local/spark/spark-2.3.2-bin-hadoop2.7/conf/slaves
(1)、配置spark-env.sh
配置jdk、scala、hadoop、ip、master等信息,SPARK_MASTER_IP和 SPARK_MASTER_HOST配置master服务器域名,SPARK_LOCAL_IP为对应spark节点的IP地址,配置如下:
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export SCALA_HOME=/usr/local/scala/scala-2.12.7
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.1.1
export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-3.1.1/etc/hadoop
export SPARK_MASTER_IP=cloud-ix
export SPARK_MASTER_HOST=cloud-ix
export SPARK_LOCAL_IP=192.168.0.199
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=1
export SPARK_HOME=/usr/local/spark/spark-2.3.2-bin-hadoop2.7
(2)、配置slaves
配置从节点如下:
cloud-vi
cloud-vii
cloud-viii
在四个服务器上都安装并配置Spark。
四、启动Spark
在Spark集群中进入master服务器,进入Spark bin目录,如下:
cd /usr/local/spark/spark-2.3.2-bin-hadoop2.7/sbin
在该目录下执行命令:./start-all.sh,即可启动Spark集群。这里要注意一点,在哪个服务器上执行该命令,该服务器将成为主节点,其余服务器都是从节点。
Spark集群启动后,可以执行命令:spark-shell进入集群,并在shell中执行scala命令,如下图所示:
也可以打开web页面,端口是8080:http://192.168.0.199:8080/,如下图所示: