Spark组件部署-集群

2022-08-09  本文已影响0人  CoderInsight

0,前提条件

1,解压、配置环境变量

[root@master opt]# tar -zxvf /soft/scala-2.11.12.tgz
[root@master opt]# mv scala-2.11.12/ scala
[root@master opt]# tar -zxvf /soft/spark-2.0.0-bin-hadoop2.6.tgz
[root@master opt]# mv spark-2.0.0-bin-hadoop2.6/ spark
[root@master opt]# tar -zxvf /soft/zookeeper-3.4.5.tar.gz
[root@master opt]# mv zookeeper-3.4.5/ zookeeper
vi /etc/profile
export SCALA_HOME=/opt/scala
export SPARK_HOME=/opt/spark
export ZOOKEEPER_HOME=/opt/zookeeper

export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$ZOOKEEPER_HOME/bin

2,填写配置文件

(1),SparkStandAlone全分布式部署

1).配置文件(spark): spark-env.sh

[root@master opt]# cp spark/conf/spark-env.sh.template spark/conf/spark-env.sh
[root@master opt]# vi spark/conf/spark-env.sh
# 直接在配置文件最后追加以下内容(下面两个对ip的设置是说明主机的ip的,所以需要之前将主机名与ip做好映射;即时在伪分布式的时候也要做,不能直接使用localhost,因为在host中做的映射是127.0.0.1,而不是当前主机的ip)
export JAVA_HOME=/opt/jdk
HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_IP=master
# 但是在修改完master节点之后,要对剩下的两个节点进行相应文件的SPARK_LOCAL_IP属性进行修改
# salve1和slave2都是操作以下目录(这里就两台主机,没有采用之前的分发shell的方式,而是直接改的)
修改slave1的 SPARK_LOCAL_IP 为:slave1
修改slave2的 SPARK_LOCAL_IP 为:slave2

2).配置文件(spark): slaves

[root@master opt]# cp spark/conf/slaves.template spark/conf/slaves
[root@master opt]# vi spark/conf/slaves
# 删除原本的localhost,添加以下内容
slave1
slave2

3),启动Spark集群

# 直接在master主节点中执行
cd /opt/spark
sbin/start-all.sh

(2),SparkStandAlone HA模式

1),部署Zookeeper

如果已经部署成功则不用重复部署,直接启动即可。

A.配置文件(zookeeper): zoo.cfg
[root@master opt]# cp zookeeper/conf/zoo_sample.cfg zookeeper/conf/zoo.cfg
[root@master opt]# vi zookeeper/conf/zoo.cfg
# 更改temp临时目录:
原:dataDir=/tmp/zookeeper
改:dataDir=/opt/zookeeper/tmp
# 在配置文件最后追加服务器的配置
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
B.配置文件(zookeeper): myid
# 三台机器分别进入到zookeeper的tmp目录下
mkdir -p /opt/zookeeper/tmp
cd /opt/zookeeper/tmp
# 分别在三台机中创建myid文件,并依次填写内容1,2,3
# master节点
vi myid
1
#######  此时剩下对于其他节点的修改,等将配置好的文件同步过去之后再进行修改
# slave1节点
vi myid
2
# slave2节点
vi myid
3

2),配置文件(spark): saprk-env.sh

# master 节点:
vi spark-env.sh
export JAVA_HOME=/opt/jdk
SPARK_LOCAL_IP=master
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master,slave1,slave2"

HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

##### 对于其他节点的操作,也是等同步到其他节点之后再进行操作

# slave1节点
vi spark-env.sh
export JAVA_HOME=/opt/jdk

HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_LOCAL_IP=slave1
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master,slave1,slave2"


# slave2节点
vi spark-env.sh
export JAVA_HOME=/opt/jdk

HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_LOCAL_IP=slave2
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master,slave1,slave2"

3),配置文件(spark): slaves

其中写几个节点的主机名,那么久会对应几个节点启动Worker进程

slave1
slave2

4),启动Spark集群

cd /opt/spark
# 在主节点(master)启动Master主进程: 
sbin/start-all.sh
# 在主节点二(salve1)中单独启动Master主进程: 
sbin/start-master.sh
上一篇下一篇

猜你喜欢

热点阅读