最近在研究大数据,打算抛弃Hadoop直接使用mongo充当hdfs使用处理小规模的数据,也不知道行不行,苦于没找到详细的Spark安装集群的方法,所以总结了一下,希望能帮助更多的兄弟!
一、集群ssh免密登录配置
我准备了三台机器采用一主两从的配置
master 192.168.80.129
node1 192.168.80.130
node2 192.168.80.130
需求:master免密登陆到node1和node2
*准备:为后续方便,默认已在各个服务器上相互间已配置好域名
1.master上执行ssh-keygen -t rsa -P ‘’
有输入时输入回车该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub
2.master执行ls /root/.ssh
查看文件是否存在
- master执行scp /root/.ssh/id_rsa.pub root@192.168.80.130:/root/.ssh/authorized_keys
把master下的/root/.ssh/id_rsa.pub 复制到node的 /root/.ssh/authorized_keys文件里,先要在node上创建好 /root/.ssh 这个目录,用scp复制,期间要输入node的密码
4.node执行 ls /root/.ssh/
在node上查看文件
5.node执行chmod 600 /root/.ssh/authorized_keys
在node上将文件权限设为600
6.master执行ssh登录
master免密登陆到node,登陆到node时推出使用exit。
二、集群每个节点关闭防火墙
下面是red hat/CentOs7关闭防火墙的命令!
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart
5:永久关闭后重启
chkconfig iptables on
三、各台机器配置jdk和scala环境
在/etc/profile中配置
#java & scala
JAVA_HOME=/opt/jdk/jdk1.8.0_191
PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH:/opt/scala/scala-2.11.8/bin
CLASSPATH=
J
A
V
A
H
O
M
E
/
j
r
e
/
l
i
b
/
e
x
t
:
JAVA_HOME/jre/lib/ext:
JAVAHOME/jre/lib/ext:JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
配置完后保存一下,source /etc/perfile 使配置生效
四、master中安装spark
1.解压spark
2.进入到conf目录
将spark-env.sh.template复制一份spark-env.sh,对spark-env.sh进行修改
3.vi spark-env.sh
在最下面加上
export JAVA_HOME=/opt/jdk/jdk1.8.0_191
export SPARK_MASTER_IP=master1 #注:这里是当前机器的域名或者IP
export SPARK_MASTER_PORT=7077
4.在conf目录中将slaves.template复制一份slaves修改配置,只需加入从节点的域名或者IP即可
至此,spark基本配置已经完成,接下来我们将配置分发到node1和node2
5.分发到各node
master中执行scp -r ./spark/ root@node1:$PWD
此命令意思是将master当前目录/opt下的/spark中的所有内容远程复制到node1中的/opt目录下
6.启动集群
注意下图的这波操作
在sbin目录下,执行./start-all.sh 启动当前主节点及所有从节点
使用jps查看启动情况 这里出现Master代表启动成功
我们再看看从节点,里面出现Worker代表启动成功。
浏览器访问http://192.168.80.129:8080
访问成功~集群部署完成!
倍棒!