Spark集群简单安装流程
Spark集群部署
一、准备工作
准备3台机器创建集群,主机名及IP地址为
Master 192.168.2.240
Slave1 192.168.2.241
Slave2 192.168.2.242
下载软件
Scala: https://downloads.lightbend.com/scala/2.12.3/scala-2.12.3.tgz
Spark: http://mirrors.hust.edu.cn/apache/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.6.tgz
JDK:
http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
二、环境配置
2.1、配置ssh免密码登录
在master主机上执行以下命令
ssh-keygen -t rsa #创建公钥和私钥
ssh-copy-id slave1 #把私钥文件上传到slave1和slave2,第一次需要输入密码验证。
ssh-copy-id slave2
完成以上操作,从master登录slave1,slave2就不用输入密码了。
2.2、安装JDK
解压jdk安装包
tar -zxf jdk-8u151-linux-x64.tar.gz -C /usr/local/
ln -sv /usr/local/jdk_1.8.0_151 jdk
vi /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/local/jdk/
export PATH=$PATH:$JAVA_HOME/bin
chmod 755 /etc/profile.d/jdk.sh
. /etc/profile.d/jdk.sh
检查Java版本
java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
2.3、安装Scala
解压安装包
tar -zxf scala-2.12.3.tgz -C /us r/local
vi /etc/profile.d/scala.sh
export SCALA_HOME=/usr/local/scala-2.12.3
export PATH=$PATH:$SCALA_HOME/bin
chmod 755 /etc/profile.d/scala.sh
. /etc/profile.d/scala.sh
scala -version
Scala code runner version 2.12.3 -- Copyright 2002-2013, LAMP/EPFL
Scala环境配置完成。
三、开始按Spark集群
解压安装包
tar -zxf spark-2.2.0-bin-hadoop2.6.tgz -C /opt
cd /opt
mv spark-2.2.0-bin-hadoop2.6 spark-2.2.0
配置Spark环境
cd /opt/spark-2.2.0/conf/
cp spark-env.sh.template spark-env.sh
spark-env.sh添加一下内容
export JAVA_HOME=/usr/local/jdk
export SCALA_HOME=/usr/local/scala-2.11.0/
export HADOOP_HOME=/opt/cloudera/parcels/CDH-5.8.0-1.cdh6.8.0.p0.42/lib/hadoop/
export HADOOP_CONF_DIR=/opt/cloudera/parcels/CDH-5.8.0-1.cdh6.8.0.p0.42/lib/hadoop/etc/hadoop/
export SPARK_MASTER_IP=master
export SPARK_LOCAL_DIRS=/opt/spark-2.2.0
export SPARK_WORKER_MEMORY=512m
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节点的数目
配置slave主机
cp slaves.template slaves
在slaves文件中添加slave主机
Slave1
Slave2
将配置好的spark-2.2.0文件夹分发给所有的slave主机
scp -rp spark-2.2.0 slave1:/opt
scp -rp spark-2.2.0 slave2:/opt
启动Spark集群
/opt/spark-2.2.0/sbin/start-all.sh
验证Spark是否启动成功,通过jps命令
Master应有master进程
8591 Master
Slave应有Worker进程
1694 Worker
Spark Web管理页面地址: http://master:8080/