linux环境部署Spark集群(Standalone Mode)

准备工作

           linux系统默认情况下,防火墙软件都是开启的,几乎所有的端口都是不对外开发的,spark集群内的各个节点间的通信需要用到相关的端口,如master节点的--webui-port:8080,worker节点的--webui-port:8081,master节点与worker节点间的通信需要用6066,7077端口,因此需要在防火墙中设置相关规则,开放这些端口,现以CentOS系统为例,方法如下:

#在CentOS上永久打开一个新端口(如TCP/8080)

firewall-cmd --zone=public --add-port=8080/tcp --permanent

#重启防火墙,使上述更改生效

firewall-cmd --reload

一、配置主机名和映射

以三台机器为例来搭建机器
1、修改主机名
修改/etc/sysconfig/network文件,将主机名改为spark-master,操作系统启动的时候,会读取该文件并设置主机名。因此,修改后不会立即生效。只有当系统重启后,主机名便会生效。
在所有主机上执行上面两步,将三台机器的主机名分别改为spark-master,tomas122,tomas123
2、映射
Spark通过主机名来进行互相访问,通过修改/etc/hosts文件可配置本地主机名映射关系,在hosts文件中添加计
算机的名称和IP的对应关系,如在本机中添加spark-master的主机(假设IP为15.62.32.109),在末尾添加内容为:
15.62.32.109 spark-master
所有主机都在/etc/hosts添加:
15.62.32.109 spark-master
15.62.32.122 tomas122
15.62.32.123 tomas123

二、配置SSH无密码登录

master与worker节点之间需要配置SSH无密码登录

1.使用ssh-keygen生成私钥和公钥

命令如下:

ssh-keygen -t rsa
然后一直按回车键即可。

例子:

fdipzone@ubuntu:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/fdipzone/.ssh/id_rsa): 这里输入要生成的文件名
Enter passphrase (empty for no passphrase):                       这里输入密码 
Enter same passphrase again:                                      这里重复输入密码
Your identification has been saved in /home/fdipzone/.ssh/id_rsa.
Your public key has been saved in /home/fdipzone/.ssh/id_rsa.pub.
The key fingerprint is:
f2:76:c3:6b:26:10:14:fc:43:e0:0c:4d:51:c9:a2:b0 fdipzone@ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
|    .+=*..       |
|  .  += +        |
|   o oo+         |
|  E . . o        |
|      ..S.       |
|      .o .       |
|       .o +      |
|       ...oo     |
|         +.      |
+-----------------+

参数 -t rsa 表示使用rsa算法进行加密,执行后,会在/home/当前用户/.ssh目录下找到id_rsa(私钥)id_rsa.pub(公钥)
也可以使用 dsa 加密算法进行加密,命令如下:

ssh-keygen -t dsa
2.需要让机器间都能相互访问,就把每个机子上的id_rsa.pub发给spark-master节点,传输公钥可以用scp来传输

scp root@15.62.32.122:/root/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.
scp root@15.62.32.123:/root/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.tomas123
3.在spark-master上,将所有公钥加到用于认证的公钥文件authorized_keys中

cat ~/.ssh/id_rsa.pub* >> ~/.ssh/authorized_keys
4.将公钥文件authorized_keys分发给tomas122、tomas123节点
scp root@10.62.32.109:/root/.ssh/authorized_keys ~/.ssh/
5.在每台机子上验证SSH无密码登录
ssh tomas122
ssh tomas123
注:.ssh 文件夹的权限必须为700authorized_keys文件权限必须为600或644

三、安装spark

在Spark集群的每个节点上都安装spark,详细步骤参考:http://blog.csdn.net/wangkai_123456/article/details/53860626

1.向环境变量添加spark home
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
2.配置./conf/slaves
首先将slaves.template拷贝一份
cp slaves.template slaves
修改slaves文件
# A Spark Worker will be started on each of the machines listed below.
tomas122
tomas123
3.配置./conf/spark-env.sh
同样将spark-env.sh.template拷贝一份
cp spark-env.sh.template spark-env.sh
在spark-env.sh最后加入以下几行
export JAVA_HOME=/usr/java/jdk1.8.0_111
export SCALA_HOME=/usr/local/scala
export SPARK_MASTER_HOST=spark-master
export SPARK_WORKER_MEMORY=25g
export SPARK_WORKER_CORES=34

最后将spark文件夹拷贝到tomas122和tomas123结点即可。

scp -r root@10.62.32.109:/usr/local/spark /usr/local/spark

四、手动启动集群

1、通过如下命令在任一节点上启动一个standalone master server:

./sbin/start-all.sh

2、


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值