spark standalone集群安装步骤总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
经过这两天的详细安装过程,总结Spark Standalone集群安装步骤如下:
环境准备:
1、⼀一台物理笔记本mac,8G内存;安装三个虚拟机(Virtualbox),虚拟机操作系统
ubuntu12-64bit;
2、三个虚拟机名称(修改主机名: vim /etc/hostname; 增加主机名与IP映射: vim /etc/hosts):
10.0.2.9 master
10.0.2.10 slave1
10.0.2.11 slave2
注意,Virtualbox虚拟机,在NAT模式下,三个节点的IP都是⼀一样的,能够访问mac主机(mac主机访问不了虚拟机节点);
如果想将三个节点作为集群,必须将⺴⽹网络模式设置为:内部模式(intnet),linux情况下,⼿手⼯工设置IP 地址和⼦子⺴⽹网掩码
3、为了避免权限⿇麻烦,⽤用户使⽤用root登录和使⽤用Ubuntu系统,⽽而Ubuntu在默认情况下并没有开启root ⽤用户,需要做如下设置:
sudo -s 进⼊入root⽤用户权限模式
vim /etc/lightdm/lightdm.conf
增加:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true #⼿手⼯工输⼊入登录系统的⽤用户名和密码
allow-guest=false #不允许guest登录
sudo passwd root
(⼀一)JDK安装配置:
1、下载JDK,并创建home⺫⽬目录,将安装包解压到home⺫⽬目录:
mkdir /usr/lib/java
tar zxf jdk-7u51-linux-x64.tar 根据你的操作系统选择jdk版本
2、设置环境变量:
vim ~/.bashrc
增加:
export JAVA_HOME=/usr/lib/java/jdk1.7.0_51
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}
使变量⽣生效:
source ~/.bashrc
3、监测java运⾏行:
java -version
(⼆二)hadoop2.6.0安装脚本:
(2.1) 安装SSH
1、安装ssh
hadoop/spark是采⽤用ssh进⾏行通信的,此时我们需要设置密码为空,即不需要密码登录,这样免去每次通信时都输⼊入密码。
apt-get install ssh
/etc/init.d/ssh start #启动ssh服务
ps -e |grep ssh #验证ssh服务是否正常启动
2、设置免密码登录,⽣生成私钥和公钥
ssh-keygen -t rsa -P ""
上述命令⾏行在/root/.ssh中⽣生成两个⽂文件:id_rsa和id_rsa.pub,id_rsa为私钥,id_rsa.pub为公钥,我们将公钥id_rsa.pub追加到authorized_keys中,命令如下:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized.keys
ssh master #检查是否免密码登录ssh
3、同理,在slave1和slave2节点上安装ssh并设置免密码登录
4、集群三个节点间免密码ssh登录设置
将slave1、slave2节点上的id_rsa.pub分别传给master节点:
scp id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave1
scp id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave2
在Master节点上追加所有公钥:
cat id_rsa.pub >> authorized_keys
cat id_rsa.slave1 >> authorized_keys
cat id_rsa.slave2 >> authorized_keys
将master节点的公钥信息⽂文件authorized_keys复制到slave1和slave2:
scp authorized_keys root@slave1:/root/.ssh/authorized_keys
scp authorized_keys root@slave2:/root/.ssh/authorized_keys
5、相互验证ssh密码登录:
ssh master
ssh slave1
ssh slave2
(2.2)hadoop暂时可以先不装
(三)scala2.10.5安装:
1、下载安装包,并创建home⺫⽬目录,将安装包解压到home⺫⽬目录
mkdir /usr/local/scala
tar zxf scala-2.10.5.tgz
2、设置环境变量:
vim ~/.bashrc
增加:
export SCALA_HOME=/usr/local/scala/scala-2.10.5
export PATH=${SCALA_HOME}/bin:${PATH}
使变量⽣生效:
source ~/.bashrc
3、测试scala运⾏行:
scala -version
4、将环境变量设置及scala⽂文件夹copy到另外两个节点上:slave1,slave2
scp -r scala root@slave1:/usr/local/
scp -r scala root@slave2:/usr/local/
(四)spark1.4.0 standalone集群模式安装:
1、下载安装包,并创建home⺫⽬目录,将安装包解压到home⺫⽬目录
mkdir /usr/local/spark
tar -zxf spark-1.4.0-bin-hadoop2.6.tgz
2、设置环境变量:
vim ~/.bashrc
增加:
export SPARK_HOME=/usr/local/spark/spark-1.4.0-bin-hadoop2.6
export PATH=${SPARK_HOME}/bin:${PATH}
source ~/.bashrc
3、配置conf/spark-env.sh
进⼊入spark home⺫⽬目录下的conf⺫⽬目录,将spark-env.sh.template copy为spark-env.sh:
cp spark-env.sh.template spark-env.sh
vim spark-env.sh ,增加:
export JAVA_HOME=/usr/lib/java/jdk1.7.0_51
export SCALA_HOME=/usr/local/scala/scala-2.10.5
export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=2G 注意安装过程中,内存设置必须是整数,我设置了1.5G,报错;
export MASTER=spark://master:7077
4、配置 conf/slaves
进⼊入spark home⺫⽬目录下的conf⺫⽬目录,将slaves.template copy为slaves: cp slaves.template slaves
vim slaves,增加:
master
slave1
slave2
5、将master上的spark⽂文件夹拷⻉贝到另两个节点:
scp -r spark root@slave1:/usr/local/
scp -r spark root@slave2:/usr/local/
6、启动spark集群:
./sbin/start-all.sh
检查安装是否成功:
访问Web管理界⾯面:http://master:8080
(五)zookeeper 安装:
现在master节点上做:
1、下载安装包,并创建home⺫⽬目录,将安装包解压到home⺫⽬目录
mkdir /usr/local/zookeeper #下载及copy略
tar xzf zookeeper-3.4.6
cd zookeeper-3.4.6 #进⼊入home⺫⽬目录
mkdir data
mkdir logs
2、配置
在zookeeper home⺫⽬目录下
cd conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg #在最后⾯面增加如下代码:
datadir=/usr/local/zookeeper/zookeeper-3.4.6/data
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.6/logs
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
3、设置serverid
cd data
echo "1">myid #在data⺫⽬目录下⽣生成myid⽂文件,内容为“1”
4、copy zookeeper 到另两个节点
cd /usr/local
scp -r ./zookeeper root@slave1:/usr/local/
scp -r ./zookeeper root@slave2:/usr/local/
登录到slave1:
cd data #zookeeperhome⺫⽬目录下的data⽂文件夹
echo "2">myid
登录到slave2:
cd data
echo "3">myid
5、运⾏行zookeeper:
./bin/zkServer.sh start #zookeeper每个节点需要单独启动运⾏行
(六)spark standalone HA 配置
1、修改spark配置⽂文件:
vim spark-env.sh
注释以下⾏行:
#export SPARK_MASTER_IP=master
增加以下⾏行(注意这是⼀一⾏行,⾃自动换⾏行的):
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,slave1:2181,slave2:2181 -Dspark.deploy.zookeeper.dir=/ spark"
2、复制该⽂文件到另两个节点:
scp -r ./spark-env.sh root@slave1:/usr/local/spark/spark-1.4.0-bin-hadoop2.6/conf
scp -r ./spark-env.sh root@slave2:/usr/local/spark/spark-1.4.0-bin-hadoop2.6/conf
3、Spark Standalone HA运⾏行:
a、分别启动三个节点的zookeeper:
./bin/zkServer.sh start #关闭服务,把start换成stop
b、在master启动Spark
./sbin/start-ll.sh
c、启动StandBy Spark Master,假设为Slave1
./sbin/start-master.sh
d、⽤用jps查看进程
master节点包含: Master、Worker、Jps、QuorumPeerMain
Standby节点(slave1):同master
slave2节点:Worker、Jps、QuorumPeerMain
恭喜您,部署成功了!。