`

spark (3)Spark Standalone集群安装介绍

阅读更多

 

(1)初学者对于spark的几个疑问 http://aperise.iteye.com/blog/2302481
(2)spark开发环境搭建 http://aperise.iteye.com/blog/2302535
(3)Spark Standalone集群安装介绍 http://aperise.iteye.com/blog/2305905
(4)spark-shell 读写hdfs 读写redis 读写hbase http://aperise.iteye.com/blog/2324253

Spark集群安装介绍

1.Spark集群方式介绍

    1.1 Spark支持的集群管理方式

        在Hadoop中,提供了一种编程模型mapreduce方便开发人员编写程序,编写好的mapreduce程序需要进行分布式计算,这时Hadoop又提供了一种资源管理和调度框架yarn,方便mapreduce程序在集群中节点之间分发,负责mapreduce相关资源调度管理

        与此类似,spark中类似的提供的编程模型是RDD(Resilient Distributed Datasets,弹性分布式数据集),一系列RDDs构成了spark中的计算程序,而spark本身也提供类似yarn的资源管理和调度框架,这个就是spark本身。但spark不仅仅局限于此,它也支持其他调度框架,比如RDD运行于Apache MesosHadoop YARNEC2,详见官网介绍http://spark.apache.org/docs/1.6.0/cluster-overview.html


 

    1.2 Spark 集群方式介绍

        对于Spark Standalone Mode方式,我的理解是,一系列RDDs组成的计算程序,其管理和调度这是spark本身,不依赖于Apache Mesos、Hadoop YARN、EC2,详见spark官网http://spark.apache.org/docs/1.6.0/spark-standalone.html

        在这种方式下,集群的安装方式又分为三种:

  • Spark 集群:此方式下,只有一个master管理所有worker节点,如果master宕机或者出问题,整个计算会停止,存在master单点故障,一旦出问题不可恢复
  • Spark 基于本地文件高可用HA集群:此方式下,只有一个master管理所有worker节点,但会配置一个本地目录文件,master和worker在跑任务时会在此目录下写数据来进行注册,一旦master宕机或者出问题,在再次启动master后,之前任务可以从文件目录中恢复
  • Spark 基于zookeeper高可用HA集群:此方式下,会启动多个master,多个master中只有一个处于激活状态并且管理所有worker,在激活状态的master宕机或者出问题时候,通过zookeeper的协调服务,将之前注册于zookeeper其上的备用mater中选举一个新的master,让它接管之前master来恢复任务执行

2.Spark集群方式安装

    2.1 集群安装环境介绍


 

    2.2 Spark集群安装前准备

        1)关闭防火墙

centos7防火墙操作介绍 
#centos7启动firewall
systemctl start firewalld.service
#centos7重启firewall
systemctl restart firewalld.service
#centos7停止firewall
systemctl stop firewalld.service
#centos7禁止firewall开机启动
systemctl disable firewalld.service
#centos7查看防火墙状态
firewall-cmd --state
#开放防火墙端口
vi /etc/sysconfig/iptables-config
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6380 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6381 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 16379 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 16380 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 16381 -j ACCEPT

         这里我关闭防火墙,root下执行如下命令:

systemctl stop firewalld.service
systemctl disable firewalld.service

 

        2)优化selinux

        作用:spark主节点管理子节点是通过SSH实现的, SELinux不关闭的情况下无法实现,会限制ssh免密码登录。

        编辑/etc/selinux/config,修改前:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

          修改后:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
#SELINUXTYPE=targeted

          执行以下命令使selinux 修改立即生效:

setenforce 0

 

        3)机器名配置

        作用:spark集群中机器IP可能变化导致集群间服务中断,所以在Hadoop中最好以机器名进行配置。

        修改各机器上文件/etc/hostname,配置主机名称如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.185.31 hadoop31
192.168.185.32 hadoop32
192.168.185.33 hadoop33
192.168.185.34 hadoop34
192.168.185.35 hadoop35

          而centos7下各个机器的主机名设置文件为/etc/hostname,以hadoop31节点主机配置为例,配置如下:

#localdomain
hadoop31

 

        4)创建hadoop用户和组

        作用:后续单独以用户hadoop来管理spark集群,防止其他用户误操作关闭spark集群

#以root用户创建hadoop用户和组创建hadoop用户和组
groupadd hadoop
useradd -g hadoop hadoop
#修改用户密码
passwd hadoop

 

        5)用户hadoop免秘钥登录

        作用:spark中主节点管理从节点是通过SSH协议登录到从节点实现的,而一般的SSH登录,都是需要输入密码验证的,为了spark主节点方便管理成千上百的从节点,这里将主节点公钥拷贝到从节点,实现SSH协议免秘钥登录,我这里做的是所有主从节点之间机器免秘钥登录

#首先切换到上面的hadoop用户,这里我是在hadoop31机器上操作
ssh hadoop31
su hadoop
#生成非对称公钥和私钥,这个在集群中所有节点机器都必须执行,一直回车就行
ssh-keygen -t rsa
#通过ssh登录远程机器时,本机会默认将当前用户目录下的.ssh/authorized_keys带到远程机器进行验证,这里是/home/hadoop/.ssh/authorized_keys中公钥(来自其他机器上的/home/hadoop/.ssh/id_rsa.pub.pub),以下代码只在主节点执行就可以做到主从节点之间SSH免密码登录
cd /home/hadoop/.ssh/
#首先将Master节点的公钥添加到authorized_keys
cat id_rsa.pub>>authorized_keys
#其次将Slaves节点的公钥添加到authorized_keys,这里我是在Hadoop31机器上操作的
ssh hadoop@192.168.185.32 cat /home/hadoop/.ssh/id_rsa.pub>> authorized_keys
ssh hadoop@192.168.185.33 cat /home/hadoop/.ssh/id_rsa.pub>> authorized_keys
ssh hadoop@192.168.185.34 cat /home/hadoop/.ssh/id_rsa.pub>> authorized_keys
ssh hadoop@192.168.185.35 cat /home/hadoop/.ssh/id_rsa.pub>> authorized_keys
#必须设置修改/home/hadoop/.ssh/authorized_keys权限
chmod 600 /home/hadoop/.ssh/authorized_keys
#这里将Master节点的authorized_keys分发到其他slaves节点
scp -r /home/hadoop/.ssh/authorized_keys hadoop@192.168.185.32:/home/hadoop/.ssh/
scp -r /home/hadoop/.ssh/authorized_keys hadoop@192.168.185.33:/home/hadoop/.ssh/
scp -r /home/hadoop/.ssh/authorized_keys hadoop@192.168.185.34:/home/hadoop/.ssh/
scp -r /home/hadoop/.ssh/authorized_keys hadoop@192.168.185.35:/home/hadoop/.ssh/

 

        6)JDK安装

        作用:spark需要java环境支撑,java环境安装如下:

#登录到到到hadoop用户下
su hadoop
#下载jdk-7u65-linux-x64.gz放置于/home/hadoop/java并解压
cd /home/hadoop/java
tar -zxvf jdk-7u65-linux-x64.gz
#编辑vi /home/hadoop/.bashrc,在文件末尾追加如下内容
export JAVA_HOME=/home/hadoop/java/jdk1.7.0_65
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#使得/home/hadoop/.bashrc配置生效
source /home/hadoop/.bashrc

          很多人是配置linux全局/etc/profile,这里不建议这么做,一旦有人在里面降级了java环境或者删除了java环境,就会出问题,建议的是在管理spark集群的用户下面修改其.bashrc单独配置该用户环境变量

 

        7)zookeeper安装

         作用:用于后期spark基于ZK的HA方式使用

#1登录hadoop用户并下载并解压zookeeper3.4.6
su hadoop
cd /home/hadoop
tar -zxvf zookeeper-3.4.6.tar.gz

#2在集群中各个节点中配置/etc/hosts,内容如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.185.31 hadoop31
192.168.185.32 hadoop32
192.168.185.33 hadoop33
192.168.185.34 hadoop34
192.168.185.35 hadoop35

#3在集群中各个节点中创建zookeeper数据文件
ssh hadoop31
cd /home/hadoop
#zookeeper数据存放位置
mkdir -p /opt/hadoop/zookeeper
ssh hadoop32
cd /home/hadoop
#zookeeper数据存放位置
mkdir -p /opt/hadoop/zookeeper
ssh hadoop33
cd /home/hadoop
#zookeeper数据存放位置
mkdir -p /opt/hadoop/zookeeper
ssh hadoop34
cd /home/hadoop
#zookeeper数据存放位置
mkdir -p /opt/hadoop/zookeeper
ssh hadoop35
cd /home/hadoop
#zookeeper数据存放位置
mkdir -p /opt/hadoop/zookeeper

#4配置zoo.cfg
ssh hadoop31
cd /home/hadoop/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
#内容如下
initLimit=10
syncLimit=5
dataDir=/opt/hadoop/zookeeper
clientPort=2181
#数据文件保存最近的3个快照,默认是都保存,时间长的话会占用很大磁盘空间
autopurge.snapRetainCount=3
#单位为小时,每小时清理一次快照数据
autopurge.purgeInterval=1
server.1=hadoop31:2888:3888
server.2=hadoop32:2888:3888
server.3=hadoop33:2888:3888
server.4=hadoop34:2888:3888
server.5=hadoop35:2888:3888
#5在hadoop31上远程复制分发安装文件
scp -r /home/hadoop/zookeeper-3.4.6 hadoop@hadoop32:/home/hadoop/
scp -r /home/hadoop/zookeeper-3.4.6 hadoop@hadoop33:/home/hadoop/
scp -r /home/hadoop/zookeeper-3.4.6 hadoop@hadoop34:/home/hadoop/
scp -r /home/hadoop/zookeeper-3.4.6 hadoop@hadoop35:/home/hadoop/

#6在集群中各个节点设置myid必须为数字
ssh hadoop31
echo "1" > /opt/hadoop/zookeeper/myid
ssh hadoop32
echo "2" > /opt/hadoop/zookeeper/myid
ssh hadoop33
echo "3" > /opt/hadoop/zookeeper/myid

#7.各个节点如何启动zookeeper
ssh hadoop31
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start

#8.各个节点如何关闭zookeeper
ssh hadoop31
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh stop

#9.各个节点如何查看zookeeper状态
ssh hadoop31
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh status

#10.各个节点如何通过客户端访问zookeeper上目录数据
ssh hadoop31
/home/hadoop/zookeeper-3.4.6/bin/zkCli.sh -server hadoop31:2181,hadoop32:2181,hadoop33:2181,hadoop34:2181,hadoop35:2181

 

        8)scala环境安装

#五台机器上下载scala-2.11.7.tgz放置于/home/hadoop/java下并解压
wget http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.tgz
cd /home/hadoop/java
tar –zxvf scala-2.11.7.tgz
#编辑/home/hadoop/.bashrc,增如下内容
export SCALA_HOME=/home/hadoop/java/scala-2.11.7
export PATH=$PATH:$SCALA_HOME/bin
#使得配置生效
source /home/hadoop/.bashrc
#检测Scala是否安装成功
scala -version

     

        9)安装spark-1.6.0-bin-hadoop2.6

#下载spark-1.6.0-bin-hadoop2.6.tgz放置于/home/hadoop下并解压
wget http://d3kbcqa49mib13.cloudfront.net/spark-1.6.0-bin-hadoop2.6.tgz
tar -zxf spark-1.6.0-bin-hadoop2.6.tgz
#编辑/home/hadoop/.bashrc,增如下内容
export SPARK_HOME=/home/hadoop/spark-1.6.0-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin

#使得上述配置生效
source /home/hadoop/.bashrc

 

    2.3 Spark普通集群方式安装

        1)spark-env.sh

        复制/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/spark-env.sh.template为/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/spark-env.sh,在最后增加如下内容:

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=NONE"
export SPARK_HISTORY_OPTS="-Dspark.history.retainedApplications=10 -Dspark.history.fs.logDirectory=hdfs://bigdatacluster-ha/historyserverforspark"

export SCALA_HOME=/home/hadoop/java/scala-2.11.7
export JAVA_HOME=/home/hadoop/java/jdk1.7.0_65
#export SPARK_MASTER_IP=hadoop31
#export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORES=4
export SPARK_WORKER_INSTANCES=4

        SPARK_WORKER_INSTANCES参数设置每个slave节点上开启4个worker进程,SPARK_WORKER_CORES设置开启的每个worker进程使用的最多CPU内核数为4,SPARK_WORKER_MEMORY设置开启的每个worker进程使用的最大内存为8G,这样每个slave节点在启动服务后你会真实的看到4个worker进程,总计消耗掉了32G内存,总计占用了16个内核,所以你的每个机器首先内核总数必须要大于16cores,总内存必须要大于32G,因为你还得留一部分cores和内存供操作系统和其他程序使用.

        上面export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=NONE"可以不配置,因为默认就是NONE

        上面hdfs://bigdatacluster-ha/historyserverforspark是存储spark在HADOOP HDFS上存储执行记录的目录位置,这里我的Hadoop采用的是基于zookeeper的HA安装,如何安装我已经在http://aperise.iteye.com/admin/blogs/2305809进行讲解,这里需要在HDFS上新建目录,操作如下:

hdfs dfs -mkdir -p /historyserverforspark

 

        2)slaves

#修改/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/slaves内容如下:
hadoop31
hadoop32
hadoop33
hadoop34
hadoop35

 

        3)分发安装到其他机器

#这里我在hadoop31机器上操作的
ssh hadoop31
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop32:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop33:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop34:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop35:/home/hadoop/java/

scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop32:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop33:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop34:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop35:/home/hadoop/

 

        4)spark启动

#启动主节点上master以及从节点worker
ssh hadoop31
cd /home/hadoop/spark-1.6.0-bin-hadoop2.6
sbin/start-all.sh

 

        5)spark-shell链接

        这里我只有一个master分布于hadoop31上,任意机器上用spark-shell链接spark如下:

cd /home/hadoop/spark-1.6.0-bin-hadoop2.6/
bin/spark-shell --master spark://hadoop31:7077

 

    2.4 Spark基于本地文件系统高可用HA集群方式安装

        1)spark-env.sh

        复制/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/spark-env.sh.template为/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/spark-env.sh,在最后增加如下内容:

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/home/hadoop/sparkexecutedata"
export SPARK_HISTORY_OPTS="-Dspark.history.retainedApplications=10 -Dspark.history.fs.logDirectory=hdfs://bigdatacluster-ha/historyserverforspark"

export SCALA_HOME=/home/hadoop/java/scala-2.11.7
export JAVA_HOME=/home/hadoop/java/jdk1.7.0_65
#export SPARK_MASTER_IP=hadoop31
#export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORES=4
export SPARK_WORKER_INSTANCES=4

         SPARK_WORKER_INSTANCES参数设置每个slave节点上开启4个worker进程,SPARK_WORKER_CORES设置开启的每个worker进程使用的最多CPU内核数为4,SPARK_WORKER_MEMORY设置开启的每个worker进程使用的最大内存为8G,这样每个slave节点在启动服务后你会真实的看到4个worker进程,总计消耗掉了32G内存,总计占用了16个内核,所以你的每个机器首先内核总数必须要大于16cores,总内存必须要大于32G,因为你还得留一部分cores和内存供操作系统和其他程序使用.

        上面需要设置spark.deploy.recoveryMode=FILESYSTEM,并且配置数据保存目录spark.deploy.recoveryDirectory=/home/hadoop/sparkexecutedata,需要在每个机器上创建目录,操作如下:

ssh hadoop31
mkdir -p /home/hadoop/sparkexecutedata
ssh hadoop32
mkdir -p /home/hadoop/sparkexecutedata
ssh hadoop33
mkdir -p /home/hadoop/sparkexecutedata
ssh hadoop34
mkdir -p /home/hadoop/sparkexecutedata
ssh hadoop35
mkdir -p /home/hadoop/sparkexecutedata

 

        上面hdfs://bigdatacluster-ha/historyserverforspark是存储spark在HADOOP HDFS上存储执行记录的目录位置,这里我的Hadoop采用的是基于zookeeper的HA安装,如何安装我已经在http://aperise.iteye.com/admin/blogs/2305809进行讲解,这里需要在HDFS上新建目录,操作如下:

hdfs dfs -mkdir -p /historyserverforspark

 

         2)slaves

#修改/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/slaves内容如下:
hadoop31
hadoop32
hadoop33
hadoop34
hadoop35

 

        3)分发安装到其他机器

#这里我在hadoop31机器上操作的
ssh hadoop31
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop32:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop33:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop34:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop35:/home/hadoop/java/

scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop32:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop33:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop34:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop35:/home/hadoop/

 

        4)spark启动

#启动主节点上master以及从节点worker
ssh hadoop31
cd /home/hadoop/spark-1.6.0-bin-hadoop2.6
sbin/start-all.sh

 

        5)spark-shell链接

        这里我只有一个master分布于hadoop31上,任意机器上用spark-shell链接spark如下:

cd /home/hadoop/spark-1.6.0-bin-hadoop2.6/
bin/spark-shell --master spark://hadoop31:7077

 

 

    2.5 Spark基于zookeeper高可用HA集群方式安装

        1)spark-env.sh

        复制/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/spark-env.sh.template为/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/spark-env.sh,在最后增加如下内容:

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop31:2181,hadoop32:2181,hadoop33:2181,hadoop34:2181,hadoop35:2181 -Dspark.deploy.zookeeper.dir=/spark-zk-path"
export SPARK_HISTORY_OPTS="-Dspark.history.retainedApplications=10 -Dspark.history.fs.logDirectory=hdfs://bigdatacluster-ha/historyserverforspark"

export SCALA_HOME=/home/hadoop/java/scala-2.11.7
export JAVA_HOME=/home/hadoop/java/jdk1.7.0_65
#export SPARK_MASTER_IP=hadoop31
#export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORES=4
export SPARK_WORKER_INSTANCES=4

          SPARK_WORKER_INSTANCES参数设置每个slave节点上开启4个worker进程,SPARK_WORKER_CORES设置开启的每个worker进程使用的最多CPU内核数为4,SPARK_WORKER_MEMORY设置开启的每个worker进程使用的最大内存为8G,这样每个slave节点在启动服务后你会真实的看到4个worker进程,总计消耗掉了32G内存,总计占用了16个内核,所以你的每个机器首先内核总数必须要大于16cores,总内存必须要大于32G,因为你还得留一部分cores和内存供操作系统和其他程序使用.

        上面需要设置spark.deploy.recoveryMode=ZOOKEEPER,并且配置数据保存目录spark.deploy.zookeeper.url=hadoop31:2181,hadoop32:2181,hadoop33:2181,hadoop34:2181,hadoop35:2181spark.deploy.zookeeper.dir=/spark-zk-path,spark-zk-path是zookeeper上的数据存放目录

        上面hdfs://bigdatacluster-ha/historyserverforspark是存储spark在HADOOP HDFS上存储执行记录的目录位置,这里我的Hadoop采用的是基于zookeeper的HA安装,如何安装我已经在http://aperise.iteye.com/admin/blogs/2305809进行讲解,这里需要在HDFS上新建目录,操作如下:

hdfs dfs -mkdir -p /historyserverforspark

 

         2)slaves

#修改/home/hadoop/spark-1.6.0-bin-hadoop2.6/conf/slaves内容如下:
hadoop31
hadoop32
hadoop33
hadoop34
hadoop35

 

        3)分发安装到其他机器

#这里我在hadoop31机器上操作的
ssh hadoop31
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop32:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop33:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop34:/home/hadoop/java/
scp -r /home/hadoop/java/scala-2.11.7 hadoop@hadoop35:/home/hadoop/java/

scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop32:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop33:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop34:/home/hadoop/
scp -r /home/hadoop/spark-1.6.0-bin-hadoop2.6 hadoop@hadoop35:/home/hadoop/

 

        4)zookeeper启动

ssh hadoop31
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start
ssh hadoop32
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start
ssh hadoop33
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start
ssh hadoop34
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start
ssh hadoop35
/home/hadoop/zookeeper-3.4.6/bin/zkServer.sh start

 

        5)spark启动

#启动主节点上master以及从节点worker
ssh hadoop31
cd /home/hadoop/spark-1.6.0-bin-hadoop2.6
sbin/start-all.sh

 

        6)spark备用master启动

        master可以多个,只需单独启动就行,比如在hadoop32上启动master

#启动备用master
ssh hadoop32
cd /home/hadoop/spark-1.6.0-bin-hadoop2.6
sbin/start-master.sh

 

        7)spark-shell链接

        这里我有两个master,分别分布于hadoop31和hadoop32之上,任意机器上用spark-shell链接spark如下:

cd /home/hadoop/spark-1.6.0-bin-hadoop2.6/
bin/spark-shell --master spark://hadoop31:7077,hadoop32:7077

 

  • 大小: 26.3 KB
  • 大小: 113.1 KB
分享到:
评论

相关推荐

    Spark实验:Standalone模式安装部署(带答案)1

    1. 实验描述:本实验旨在搭建一个基于Standalone模式的Spark集群,包括解压安装包、配置环境变量、启动集群及验证安装效果。 2. 实验环境:使用3台虚拟机,操作系统为Centos 7.5,Hadoop版本为2.7.3,Spark版本为...

    Spark环境搭建——standalone集群模式

    这篇博客,Alice为大家带来的是Spark集群环境搭建之——standalone集群模式。 文章目录集群角色介绍集群规划修改配置并分发启动和停止查看web界面测试 集群角色介绍  Spark是基于内存计算的大数据并行计算框架,...

    spark 分布式集群搭建

    ### Spark Standalone 分布式集群搭建详解 #### Spark Standalone 运行模式概述 Spark Standalone 是 Apache Spark 提供的一种自带的集群管理模式,主要用于管理 Spark 应用程序的执行环境。这种模式简单易用,适合...

    spark集群安装部署与初步开发

    ### Spark集群安装部署与初步开发知识点详述 #### 一、Spark概述 - **定义**:Spark是一款基于内存计算的大数据并行计算框架,旨在提供高效的数据处理能力。 - **特性**: - **内存计算**:利用内存提高数据处理...

    spark-2.0.1集群安装及编写例子提交任务

    本文将详细介绍如何在集群环境中安装Spark 2.0.1,并提供编写Spark应用程序的实例以及如何将任务提交到Spark Standalone集群。 首先,我们来看【spark集群安装.doc】。这份文档应该包含详细的Spark集群安装步骤。...

    23:Spark2.3.x分布式集群安装部署.zip

    在这个23章的教程中,我们将深入探讨如何在分布式环境下安装和部署Spark 2.3.x集群,以实现大规模数据处理。 首先,了解Spark的基本架构是至关重要的。Spark的核心组件包括Driver程序、Executor和Cluster Manager。...

    Spark2.3.0-Hadoop2.7.4集群部署

    本文详细介绍了如何在RedHat服务器上部署Spark2.3.0与Hadoop2.7.4集群,涵盖了从系统环境准备到具体部署步骤的全过程。此外,还列举了常用的Linux命令和Java管理命令,为读者提供了丰富的学习资源链接。通过本文的...

    Spark Standalone架构设计.docx

    Spark Standalone 架构设计 Spark 是一个开源的通用集群计算系统,提供了 High-...Spark 集群模式架构,如下图所示:Spark 集群 Cluster Manager 目前支持如下三种模式:Standalone 模式、YARN 模式和 Mesos 模式。

    springboot整合spark连接远程服务计算框架使用standAlone模式

    当需要在Spring Boot应用中整合Spark进行远程服务计算时,通常会采用Spark的Standalone模式。本文将深入探讨如何将Spring Boot与Spark集成,并使用Standalone模式来实现远程服务计算。 首先,我们需要了解Spark ...

    Sparkonyarn集群搭建详细过程.pdf

    _description_:本文详细介绍了 Spark on YARN 集群搭建的过程,包括配置主机 hosts 文件、免密码登录、安装 Java、安装 Scala 等步骤。 _tag_:互联网 cs 知识点1: Spark on YARN 集群搭建 Spark on YARN 集群...

    Spark安装文档以及介绍

    ### Spark概述 #### 什么是Spark Spark是一种高性能的大数据分析处理框架,主要特点是速度快、易于使用...通过以上步骤,可以完成一个基本的Spark集群的安装和配置工作,为后续的大数据分析处理任务提供强大的支持。

    spark三种模式部署安装(基于Anaconda3实现spark编程)

    **Standalone模式**是Spark自带的一种简单的集群管理模式,适用于中小型集群环境。在此模式下,用户需要手动搭建Master和Worker节点,并通过配置文件指定Master节点的地址。通过这种方式,可以在多个节点之间分配...

    spark3.0入门到精通

    │ 03-[掌握]-Spark环境搭建-Standalone集群模式.mp4 │ 06-[理解]-Spark环境搭建-On-Yarn-两种模式.mp4 │ 07-[掌握]-Spark环境搭建-On-Yarn-两种模式演示.mp4 │ 09-[掌握]-Spark代码开发-准备工作.mp4 │ 10...

    spark在虚拟机的安装

    使用`sbin/start-all.sh`脚本启动Spark Standalone集群。 5. **在Spark Standalone模式下运行pyspark** 使用`pyspark --master spark://master:7077 --num-executors 1 --total-executor-cores 3 --executor-...

    Spark安装包、安装文档

    5. **多模式支持**:Spark可以本地模式、集群模式(如YARN、Mesos)以及Standalone模式运行。 Spark与Hadoop的集成是其重要应用场景之一,`spark-2.4.5-bin-hadoop2.6`表明这个版本的Spark已经内置了对Hadoop的支持...

    Spark大数据处理学习笔记

    * 本篇笔记还介绍了如何启动 Spark Standalone 集群、访问 Spark 的 WebUI、启动 Scala 版 Spark Shell 等内容。 二、掌握 RDD 的创建(3.1) *RDD(Resilient Distributed Datasets)是 Spark 中的数据抽象概念,...

    spark基础,关于spark的安装和几种模式的部署

    在规划Spark Standalone集群时,需要在每台机器上安装Spark,并配置Master和Worker的相关参数。例如,可以将Master节点设置为node01,两个Slave节点为node02和node03。安装步骤包括将Spark安装包上传至服务器,解压...

    spark集群搭建

    - **Spark实战高手之路(3):构造分布式Spark集群.pdf**:可能涵盖了在已有的Hadoop集群上安装和配置Spark,形成分布式Spark集群的细节。 - **Spark实战高手之路(4):构建Spark集群.pdf**:可能进一步深入,...

    Spark简介以及其生态圈

    Spark可以部署在各种集群管理器之上,如Standalone、YARN(Hadoop Yet Another Resource Negotiator)和Mesos等。其生态圈还包含一系列处理不同数据源和数据类型的应用程序库,如Spark SQL用于处理结构化数据,Spark...

Global site tag (gtag.js) - Google Analytics