在Hadoop集群基础上配置spark

本章主要是配置spark的yarn模式,利用hadoop的hdfs和yarn实现文件存储和资源调度

1 安装scala,版本 2.12.11

在官网上下载安装介质,复制到服务器/tmp下

确保module文件夹具有权限

sudo chmod 777 /opt/module

执行

 tar -xvf scala-2.12.11.tgz -C /opt/module/

配置 /etc/profile.d/my_env.sh

vim /etc/profile.d/my_env.sh
#SCALA_HOME
export SCALA_HOME=/opt/module/scala-2.12.11
export PATH=$PATH:$SCALA_HOME/bin

执行 

source /etc/profile

2 安装spark环境

确保module目录有权限

sudo chmod 777 /opt/module

2.1 yarn模式(重点),spark的资源调度运用hadoop的yarn,文件存储运用hdfs,所以前提需要有hadoop集群

下载spark3.0.0-bin-hadoop3.2.taz版本 并解压

tar -zxvf /tmp/spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
cd /opt/module
mv spark-3.0.0-bin-hadoop3.2 spark-yarn

1) 修改 hadoop 配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml, 并分发



    <!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>

2) 修改 conf/spark-env.sh,添加 JAVA_HOME 和 YARN_CONF_DIR 配置
 

mv spark-env.sh.template spark-env.sh
。。。
export JAVA_HOME=/opt/module/jdk1.8.0_121
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

3)启动hadoop集群

myhadoop.sh start

4)提交计算任务

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10

查看 http://hadoop100:8088 页面,点击 History,查看历史页面

配置历史服务器

1) 修改 spark-defaults.conf.template 文件名为 spark-defaults.conf

mv spark-defaults.conf.template spark-defaults.conf

2) 修改 spark-default.conf 文件,配置日志存储路径

spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop102:8020/directory

spark.yarn.historyServer.address=linux1:18080
spark.history.ui.port=18080

3)添加directory 目录

[root@linux1 hadoop]# sbin/start-dfs.sh
[root@linux1 hadoop]# hadoop fs -mkdir /directory

4)修改 spark-env.sh 文件, 添加日志配置

export JAVA_HOME=/opt/module/jdk1.8.0_121
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/directory
-Dspark.history.retainedApplications=30"

5)启动hadoop集群

myhadoop.sh start

6) 启动历史服务

sbin/start-history-server.sh

7)提交计算任务

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10

8) Web 页面查看日志: http://hadoop102:8088
 


以下是另外两种spark运行模式

2.2 local模式,只需要配置一台服务器

1.解压

tar -zxvf /tmp/spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
cd /opt/module
mv spark-3.0.0-bin-hadoop3.2 spark-local

2. 执行命令

bin/spark-shell

3 http://虚拟机地址:4040

2.3 Standalone 模式

需要配置三台服务器,资源调度用spark自身提供的调度,基于主从模式

解压

tar -zxvf /tmp/spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
cd /opt/module
mv spark-3.0.0-bin-hadoop3.2 spark-standalone

1) 进入解压缩后路径的 conf 目录,修改 slaves.template 文件名为 slaves
 

mv slaves.template slaves

2) 修改 slaves 文件,添加 work 节点

hadoop102
hadoop103
hadoop104

3) 修改 spark-env.sh.template 文件名为 spark-env.sh
 

mv spark-env.sh.template spark-env.sh

4) 修改 spark-env.sh 文件,添加 JAVA_HOME 环境变量和集群对应的 master 节点

export JAVA_HOME=/opt/module/jdk1.8.0_121
SPARK_MASTER_HOST=hadoop102
SPARK_MASTER_PORT=7077

5) 分发 spark-standalone 目录

xsync spark-standalone

6)启动spark集群

sbin/start-all.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值