1.查看主机名

查看master 虚拟机名

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机

查看slave1主机名

搭建好的spark虚拟机 虚拟机启动spark_spark_02

查看slave2主机名

搭建好的spark虚拟机 虚拟机启动spark_hadoop_03

2.在master上配置主机映射vim /etc/hosts

搭建好的spark虚拟机 虚拟机启动spark_hadoop_04

在slave1和slave2上配置主机映射

搭建好的spark虚拟机 虚拟机启动spark_spark_05

 

搭建好的spark虚拟机 虚拟机启动spark_hadoop_06

3.关闭所有节点的防火墙

搭建好的spark虚拟机 虚拟机启动spark_hadoop_07

 禁用防火墙

搭建好的spark虚拟机 虚拟机启动spark_大数据_08

 查看防火墙状态

搭建好的spark虚拟机 虚拟机启动spark_大数据_09

 4。关闭三个节点的安全机制

命令:vim /etc/sysconfig/selinux(其余子节点一样的操作)

搭建好的spark虚拟机 虚拟机启动spark_spark_10

 5.完成虚拟机免密登录

命令:ssh-keygen,生成密钥对

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_11

 命令:ssh-copy-id root@master,将公钥拷贝到master

搭建好的spark虚拟机 虚拟机启动spark_spark_12

在此处需要输入密码后生成免密

搭建好的spark虚拟机 虚拟机启动spark_hadoop_13

 登录并退出免密成功

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_14

 命令:ssh-copy-id root@slave2,将公钥拷贝到slave2,确认输入yes,并输入密码

搭建好的spark虚拟机 虚拟机启动spark_big data_15

命令:ssh-copy-id root@slave,将公钥拷贝到slave,确认输入yes,并输入密码

 

搭建好的spark虚拟机 虚拟机启动spark_大数据_16

 5.在opt目录上上传相关压缩包

搭建好的spark虚拟机 虚拟机启动spark_大数据_17

命令:tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/local,将Java安装包解压到指定目录

解压后在目录下查看jdk_231

 

搭建好的spark虚拟机 虚拟机启动spark_hadoop_18

 用命令vim /etc/profile,配置环境变量

 export JAVA_HOME=/usr/local/jdk1.8.0_162
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_19

保存退出,source /etc/profile,让配置生效

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_20

查看版本号

搭建好的spark虚拟机 虚拟机启动spark_hadoop_21

6.将JDK分发到slave1和slave2子节点上

命令:scp -r $JAVA_HOME root@slave1:$JAVA_HOME

 

搭建好的spark虚拟机 虚拟机启动spark_big data_22

查看slave1目录下是否有jdk1.8.0_231

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_23

 命令:scp -r $JAVA_HOME root@slave2:$JAVA_HOME JDK分发到slave2

搭建好的spark虚拟机 虚拟机启动spark_hadoop_24

 查看是否存在

搭建好的spark虚拟机 虚拟机启动spark_spark_25

 7.将配置环境分发到slave1和slave2上

scp /etc/profile root@slave2:/etc上传至slave2

搭建好的spark虚拟机 虚拟机启动spark_大数据_26

scp /etc/profile root@slave1:/etc上传至slave1

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_27

 在slave1与slave2节点上执行命令:source /etc/profile,让环境配置生效

搭建好的spark虚拟机 虚拟机启动spark_大数据_28

搭建好的spark虚拟机 虚拟机启动spark_big data_29

 2.在虚拟机上上传Hadoop,并配置Hadoop环境

 1.上传至opt目录后,执行解压命令:tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local

搭建好的spark虚拟机 虚拟机启动spark_big data_30

解压后查看是否有etc:配置目录,bin:执行文件,sbin:关闭执行命令,

 

搭建好的spark虚拟机 虚拟机启动spark_big data_31

2.配置hadoop环境变量:vim /etc/profile

 export HADOOP_HOME=/usr/local/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

 

搭建好的spark虚拟机 虚拟机启动spark_spark_32

存盘退出,执行命令:source /etc/profile,让配置生效

搭建好的spark虚拟机 虚拟机启动spark_spark_33

3.配置Hadoop环境变量

cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录

搭建好的spark虚拟机 虚拟机启动spark_spark_34

 vim hadoop-env.sh

搭建好的spark虚拟机 虚拟机启动spark_hadoop_35

export JAVA_HOME=/usr/local/jdk1.8.0_162 
export  HADOOP_HOME=/usr/local/hadoop-2.7.7
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

存盘退出后,执行命令source hadoop-env.sh,让配置生效

搭建好的spark虚拟机 虚拟机启动spark_hadoop_36

 查看三个配置的三个环境变量

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_37

4.配置Hadoop 核心文件

vim core-site.xml

<configuration>
    <!--用来指定hdfs的老大-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!--用来指定hadoop运行时产生文件的存放目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-2.7.7/tmp</value>
    </property>    
</configuration>
 

搭建好的spark虚拟机 虚拟机启动spark_大数据_38

5.配置hdfs文件:vim hdfs-site.xml

搭建好的spark虚拟机 虚拟机启动spark_hadoop_39

 <configuration>
    <property>
        <!--设置名称节点的目录-->
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-2.7.7/tmp/namenode</value>
    </property>
    <property>
        <!--设置数据节点的目录-->
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-2.7.7/tmp/datanode</value>
    </property>
    <property>
        <!--设置辅助名称节点-->
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
</configuration>

6.基于模板生成配置文件:cp mapred-site.xml.template mapred-site.xml

搭建好的spark虚拟机 虚拟机启动spark_大数据_40

 vim mapred-site.xml

搭建好的spark虚拟机 虚拟机启动spark_big data_41

 <configuration>
    <property>
        <!--配置MR资源调度框架YARN-->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

7.编辑配置yarn文件 vim yarn-site.xml

搭建好的spark虚拟机 虚拟机启动spark_大数据_42

 <configuration>
    <property>
        <!--配置资源管理器-->
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <!--配置节点管理器-->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <!--节点管理器不进行虚拟内存检查-->
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

3.配置slaves文件

vim slaves

搭建好的spark虚拟机 虚拟机启动spark_big data_43

将master虚拟机上的hadoop分发到slave1 和slave2虚拟机

scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME上传至slave1

scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME上传至slave2

 

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_44

 将变量分发至子节点

scp /etc/profile root@slave1:/etc/profile

~切换至子节点:命令:source /etc/profile,使文件生效

4.在主节点master格式化节点名称

在master虚拟机上,执行命令:hdfs namenode -format

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_45

出现successfully代表成功

搭建好的spark虚拟机 虚拟机启动spark_hadoop_46

启动Hadoop节点

start-dfs.sh

搭建好的spark虚拟机 虚拟机启动spark_大数据_47

命令:jps查看master守护节点

 

搭建好的spark虚拟机 虚拟机启动spark_spark_48

jps:查看子节点守护节点

slave1

搭建好的spark虚拟机 虚拟机启动spark_大数据_49

slave2

搭建好的spark虚拟机 虚拟机启动spark_hadoop_50

 start-yarn.sh,启动YARN服务

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_51

查看守护节点

 

搭建好的spark虚拟机 虚拟机启动spark_big data_52

搭建好的spark虚拟机 虚拟机启动spark_hadoop_53

搭建好的spark虚拟机 虚拟机启动spark_spark_54

 二。配置Spark Standalone集群

上传spark包在opt目录下

搭建好的spark虚拟机 虚拟机启动spark_spark_55

 解压spark包:tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /usr/local

搭建好的spark虚拟机 虚拟机启动spark_big data_56

配置spark环境:vim /etc/profile

搭建好的spark虚拟机 虚拟机启动spark_hadoop_57

export SPARK_HOME=/usr/local/spark-2.1.1-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH

存盘退出后,执行命令:source /etc/profile,让配置生效

搭建好的spark虚拟机 虚拟机启动spark_大数据_58

查看spark安装目录(binsbinconf

搭建好的spark虚拟机 虚拟机启动spark_hadoop_59

 1.配置spark环境配置

执行命令:cp spark-env.sh.template spark-env.shvim spark-env.sh

搭建好的spark虚拟机 虚拟机启动spark_大数据_60

 

搭建好的spark虚拟机 虚拟机启动spark_big data_61

 export JAVA_HOME=/usr/local/jdk1.8.0_162
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077

存盘退出,执行命令:source spark-env.sh,让配置生效

(三)将spark发送至子节点

scp -r $SPARK_HOME root@slave1:$SPARK_HOME

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_62

scp -r $SPARK_HOME root@slave2:$SPARK_HOME发送至slave2

发送spark变量

scp /etc/profile root@slave1:/etc/profile

搭建好的spark虚拟机 虚拟机启动spark_大数据_63

 

scp /etc/profile root@slave2:/etc/profile发送至slave2

 1.在子节点上source命令,使文件生效

在master虚拟机上执行命令:start-dfs.sh

搭建好的spark虚拟机 虚拟机启动spark_spark_64

 start-all.sh 启动所有spark集群

搭建好的spark虚拟机 虚拟机启动spark_spark_65

  • 查看start-all.sh的源码启动Master与Worker的命令

# Start Master
"${SPARK_HOME}/sbin"/start-master.sh
# Start Worker
s"${SPARK_HOME}/sbin"/start-slaves.sh

jps查看守护进程

搭建好的spark虚拟机 虚拟机启动spark_spark_66

 

搭建好的spark虚拟机 虚拟机启动spark_搭建好的spark虚拟机_67

搭建好的spark虚拟机 虚拟机启动spark_hadoop_68

 启动spark shell:

spark-shell --master spark://master:7077

搭建好的spark虚拟机 虚拟机启动spark_spark_69