在Linux上部署Spark集群

Spark集群部署方法一:
//spark安装
1 解压缩/usr/local/app2/spark目录下
tar -zxvf spark-2.3.1-bin-hadoop2.6.tgz
mv spark-2.3.1-bin-hadoop2.6 spark
2 环境变量,都需要配置
export SPARK_HOME=/usr/local/app2/spark/spark
export PATH= S P A R K H O M E / s b i n : SPARK_HOME/sbin: SPARKHOME/sbin:PATH
3 spark-env.sh配置/usr/local/app2/spark/spark/conf目录下 -> 备注spark-env.sh.template是spark的一个自带模板,SCALA没有安装所以先注释掉配置信息
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/usr/software/jdk1.8.0_11 /JDK安装路径/
#export SCALA_HOME=/home/cmfchina/opt/scala/scala-2.12.2 /SCALA安装路径/
export SPARK_HOME=/usr/local/app2/spark/spark /spark安装路径/
export HADOOP_CONF_DIR=/usr/software/hadoop/etc/hadoop /指定hadoop的配置文件目录/
#export SPARK_LOG_DIR=/home/cmfchina/opt/scala/scala-2.12.2/logs /SCALA logs路径/
#export SPARK_PID_DIR=/home/cmfchina/opt/scala/scala-2.12.2/pid /SCALA pid路径/
export SPARK_MASTER_IP=192.168.0.110 /主节点的IP地址/
export SPARK_MASTER_HOST=192.168.0.110
export SPARK_LOCAL_IP=192.168.0.110 /本机的IP地址,将此项改成node1,node2和node3对应节点的IP,其他基本不变/
export SPARK_WORKER_MEMORY=2G /分配的内存大小,作业可使用的内存容量,默认格式1000M 或者 2G,注意内存设置必须是整数/
export MASTER=spark://192.168.0.110:7077 /默认端口为7077/

	export JAVA_HOME=/usr/software/jdk1.8.0_11
	#export SCALA_HOME=/home/cmfchina/opt/scala/scala-2.12.2
	export SPARK_HOME=/usr/local/app2/spark/spark
	export HADOOP_CONF_DIR=/usr/software/hadoop/etc/hadoop
	#export SPARK_LOG_DIR=/home/cmfchina/opt/scala/scala-2.12.2/logs
	#export SPARK_PID_DIR=/home/cmfchina/opt/scala/scala-2.12.2/pid
	export SPARK_MASTER_IP=mynode
	export SPARK_MASTER_HOST=mynode
	export SPARK_LOCAL_IP=mynode
	export SPARK_WORKER_MEMORY=2G
	export MASTER=spark://mynode:7077

//克隆虚拟机
已有的虚拟机(关闭状态)下右键点击“管理”–>“克隆”
克隆虚拟机中的当前状态
创建完整克隆
虚拟机名称自定义 集群node1/集群node2/集群node3 ,位置自定义
弹出三个√代表克隆完成
//不是关闭状态或者复制已有的虚拟机会把网卡配置复制过来
//设置主从机的IP连接问题
主机/etc/hosts:

192.168.0.116 localhost
192.168.0.116 mynode
192.168.0.111 node1
192.168.0.112 node3
192.168.0.113 node2

副机1 /etc/hosts:

192.168.0.111 localhost
192.168.0.116 mynode
192.168.0.111 node1
192.168.0.112 node3
192.168.0.113 node2

副机2 /etc/hosts:

192.168.0.113 localhost
192.168.0.116 mynode
192.168.0.111 node1
192.168.0.112 node3
192.168.0.113 node2

副机3 /etc/hosts:

192.168.0.112 localhost
192.168.0.116 mynode
192.168.0.111 node1
192.168.0.112 node3
192.168.0.113 node2

//测试从Slave到Master的连接(在主机上操作)
ssh 192.168.0.111
ssh 192.168.0.112
ssh 192.168.0.113
//查看连接ip状态-可能有延迟,多敲几遍即可
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n

//配置slaves文件(Master配置这个Salve文件就行,其他Slave机不需要配置)
//usr/local/app2/spark/spark/conf目录下
cp slaves.template slaves
vi slaves(因为我们配置了host,也可以直接用master和slave1,slave2进行配置,不需要IP地址,初次调试防止出错可以写上ip)

		mynode
		node1
		node2
		node3

//每台Slave机还需更改spark-env.sh配置
SPARK_LOCAL_IP改成node1,node2和node3
例:node1 spark-env.sh
export SPARK_LOCAL_IP=node1
//启动Spark集群
//进入spark sbin目录 -> 启动master,开启后使用jps指令查看spark开启结果,Worker Master出现即可
./start-all.sh
//spark bin目录 -> 看到一个spark图形即可
./spark-shell

//检测集群开启结果
使用master主机检测,我的是mynode,访问8080端口
localhost:8080
Workers可以查看start-all.sh的启动结果
Running Applications可以查看spark-shell的启动结果

Spark集群部署方法二:
//克隆虚拟机
已有的虚拟机(关闭状态)下右键点击“管理”–>“克隆”
克隆虚拟机中的当前状态
创建完整克隆
虚拟机名称自定义 集群node1/集群node2/集群node3 ,位置自定义
弹出三个√代表克隆完成
//不是关闭状态或者复制已有的虚拟机会把网卡配置复制过来
克隆完成后打开slave虚拟机分别 vi /etc/hosts 更改主机ip和主机名

	192.168.0.111 localhost
	192.168.0.111 node1
	
	192.168.0.113 localhost
	192.168.0.113 node2
	
	192.168.0.112 localhost
	192.168.0.112 node3

//master配置vi /etc/hosts

	192.168.0.116 localhost
	192.168.0.116 mynode
	192.168.0.111 node1
	192.168.0.112 node3
	192.168.0.113 node2

//spark安装(在master机上操作)
1 解压缩/usr/local/app2/spark目录下
tar -zxvf spark-2.3.1-bin-hadoop2.6.tgz
mv spark-2.3.1-bin-hadoop2.6 spark
2 环境变量配置

	export SPARK_HOME=/usr/local/app2/spark/spark
	export PATH=$SPARK_HOME/sbin:$PATH

3 spark-env.sh配置/usr/local/app2/spark/spark/conf目录下 -> 备注spark-env.sh.template是spark的一个自带模板,SCALA没有安装所以先注释掉配置信息
cp spark-env.sh.template spark-env.sh
vi spark-env.sh,添加如下信息
export JSPARK_MASTER_IP=mynode //master的ip
export SSPARK_MASTER_PORT=7077 //提交任务的端口,默认是7077
export SPARK_WORKER_CORES=2 //每个worker从节点能够支配的core的个数
export SPARK_WORKER_MEMORY=3g //每个worker从节点能够支配的内存数

	export JSPARK_MASTER_IP=mynode
	export SSPARK_MASTER_PORT=7077
	export SPARK_WORKER_CORES=2
	export SPARK_WORKER_MEMORY=3g
	export JAVA_HOME=/usr/software/jdk1.8.0_11
	export HADOOP_CONF_DIR=/usr/software/hadoop/etc/hadoop

//同步spark文件到其他节点上
scp -r /usr/local/app2/spark/spark root@node1:/usr/local/app2/spark/
scp -r /usr/local/app2/spark/spark root@node2:/usr/local/app2/spark/
scp -r /usr/local/app2/spark/spark root@node3:/usr/local/app2/spark/
//启动Spark集群
//进入spark sbin目录 -> 启动master,开启后使用jps指令查看spark开启结果,Worker Master出现即可
./start-all.sh
//spark bin目录 -> 看到一个spark图形即可
./spark-shell
//检测集群开启结果
使用master主机检测,我的是mynode,访问8080端口
localhost:8080
Workers可以查看start-all.sh的启动结果
Running Applications可以查看spark-shell的启动结果

总结:都可以达到集群部署效果,具体差别使用后再复议。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值