spark笔记(一)部署

由于条件限制,只能在虚拟机调试部署

宿主机为dell inspiron 14R SE 7420

虽然是老掉牙的机器,不过加个SSD再战2年应该问题不大,具体配置 :

 cpu intel i7 3612QM,内存 8G ddr3 ,硬盘 256SSD + 1T机械

OS  Windows10 RS4_17134.1

虚拟化平台为 VirtualBox 5.2.8

集群所有虚拟机均配置为  4G内存,1核CPU ,40G系统盘+80G数据盘,操作系统为 Debian Buster 最小化安装

数据盘加载点  /workspace

集群为 1台master+slave ,两台 slave 共三台虚拟机。

master ip 192.168.1.111   host debian-master

slave1 ip 192.168.1.112    host debian-slave-01

slave2 ip 192.168.1.113    host debian-slave-02

假设已最小化安装完系统及基本软件包和库(如ssh,sshd 等 如果不是最小化安装,必须要开通防火墙策略或关闭防火墙)

可以只安装一台master,然后另外两台slave用虚拟机克隆,改个主机名重置网卡就可以了

以root登入debian-master

1、编辑 /etc/hosts 添加 host映射

192.168.1.115    debian-master

192.168.1.116    debian-slave-01

192.168.1.117    debian-slave-02

2、生成ssh key,使ssh免密登入

ssh-keygen -t rsa 一路回车,在~/.ssh  生成  id.rsa 和 id.rsa_pub

cd ~/.ssh  && cat is.rsa_pub >> authorized_keys

------------------------

下载 java8,

java目录为 /usr/local/jdk1.8.0_162

添加环境变量 :

cd /usr/local/jdk1.8.0_162

echo "export JAVA_HOME="$(pwd) >> /etc/profile

官网下载 spark-2.3.0-bin-hadoop2.7.tgz

解压后复制到 /usr/local

我的spark主目录为 /usr/local/spark-2.3.0-bin-hadoop2.7

添加环境变量  cd /usr/local/spark-2.3.0-bin-hadoop2.7 && echo "export SPARK_HOME="$(pwd) >> /etc/profile

添加path:

echo "PATH=$PATH:$JAVA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin >> /etc/profile

刷新环境变量

source /etc/profile

至此,环境设置完成。

进入 $SPARK_HOME/conf

把slaves.template 和spark-env.sh.template 分别复制一份为  slaves 和 spark-env.sh

前者是slave列表,后者是设置spark环境

在slaves里把所有slave添加进去

我这里是 

debian-master

debian-slave-01

debian-slave-02

然后修改spark-env.sh

vim spark-env.sh

添加如下

#据说早期版本的spark必须要添加java目录,否则会出错,没试过,安全起见还是加上,反正又没多少事

export JAVA_HOME=/usr/local/jdk1.8.0_162

#spark 工作结点最多内存数,这里设512m,单位可以是m或是g

export SPARK_WORKER_MEMORY=512m

#master 主机名或地址

export SPARK_MASTER_IP=debian-master

#本机地址

export SPARK_LOCAL_IP=debian-master

#其他一些环境变量,可以参考spark-env.sh原始的注释。比如说端口、内核数等

--------------------------------------------------------

master设置完成。把master主机的 ~/.ssh/authorized_keys 复制到各个slave相应的目录(当然也可以全部设完后直接clone成slave)

把master的把hosts ,profile, java和spark 都复制到 slave主机上:

scp  /etc/hosts root@192.168.1.116:/etc

scp /etc/profile root@debian-salve-01:/etc

scp -r $JAVA_HOME root@debian-slave-01:/usr/local

scp -r $SPARK_HOME root@debian-slave-01:/usr/local

其他都不变,在slave1主机上,在$SPARK_HOME/conf里把spark-env.sh里SPARK_LOCAL_IP改成相应的主机名

slave2也一样操作

至此,设置完成。

起动master:

root@debian-master# start-master.sh  -h debian-master

这里可以不加 -h 主机名,但是这样虽然能起动,但是work线程看不到

用jps命令看看 master是否起动。


起动slave,并用jps查看


至此,在master主机上已经起动了 master和一个slave,在debian-slave-01和02上分别起动slave

因为所有的虚拟机都是以桥接网络连接。所以起动后在宿主机的浏览器上就可以看到spark的webui

在浏览器里输入master的ip

http://192.168.1.115:8080


看到三个worker node都alive了。至此,spark standalone方式已部署完毕,正常生产环境一般都是以hadoop yarn或是apache mesos为资源管理部署。

安装部署笔记就此结束,留此博文以备后参考。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值