您的位置:首页 > 运维架构

spark2.0.2环境搭建(hadoop2.7.3)——启动关闭

2016-12-17 15:03 676 查看

spark2.0.2环境搭建(hadoop2.7.3)——启动关闭

本文主要讲述spark如何在hadoop环境下搭建。阅读完本文之后,能够正常的启动关闭spark。

配置前提:配置好hadoop(hdfs和yarn都能正常)。
下面,上货。

首先去spark的官网上下载



1、下载完成后,解压到linux中
tar -zxvf spark-2.0.2-bin-hadoop2.7.tgz

2、解压后把文件夹放在你想放在的地方,我放在/home/下,同时把名字改一下:
mv spark-2.2.0-bin-hadoop spark

3、进入spark的目录下conf文件夹。
从模板赋值一个spark-env.sh出来。
cp spark-evn.sh.template spark-env.sh

4、修改spark-env.sh,添加如下内容(其中/home/hadoop是你的hadoop安装路径):
export SPARK_DIST_CLASSPATH=$(/home/hadoop/bin/hadoop classpath)



5、修改/etc/profile文件,添加如下内容:
SPARK_HOME=/home/spark
export PATH=$SPARK_HOME/sbin:$PATH

然后执行 . /etc/profile使配置文件生效

6、运行spark-master:
start-master.sh

启动成功后在浏览器中查看



8080是默认的端口。需要注意的是spark://host1:7077这个地址。这个地址是用来启动slave的时候的一个标识,用来表示哪个slave是属于哪个master的。

7、启动slave
start-slave.sh spark://host1:7077



看一下web上



8、如果需要停止spark可以使用一下命令:
stop-master.sh
stop-slave.sh

好了,现在基本的设置就ok 了。下面介绍点快捷的用法。
现在集群是这样的,host1 host2 host3 我想让host1作为spark的master。然后让host1 host2 host3作为host1的slave。
一般情况下,就是直接每台机器启动。这样太慢了。我写了一个shell可以直接实现上面的需求:

#!/bin/bash

iparray=(host1 host2 host3)
user="user"
echo "$1"
if [ $1 = "start" ]
then
cmd="/home/spark/sbin/start-slave.sh spark://host1:7077"
fi

if [ $1 = "stop" ]
then
cmd="/home/spark/sbin/stop-slave.sh"
fi

for ip in ${iparray[*]}
do
echo "ssh to $ip"
echo "=====$ip====="
ssh -t $user@$ip "$cmd"
echo "=====$ip====="
echo
done


下面是使用的一个例子:

先开启master



然后用shell开启salve



好,现在看一下web:



现在关闭三个slave



再次查看web



好啦,这样,基本的启动关闭就可以了。

后记2017-1-4
还有一种更方便的启动方式,需要做如下修改:
1、在spark-env.sh中添加 
export SPARK_MASTER_ID=192.168.1.221
2、复制一份slaves.template
cp slaves.template slaves
在其中添加slave的ip,我添加的是host1 host2 host3
3、最后在启动的时候直接使用start-all.sh即可,需要注意的是不要和hadoop中的start-all弄混了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark shell
相关文章推荐