IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 在oozie上编写spark-submit脚本 -> 正文阅读

[大数据]在oozie上编写spark-submit脚本

1 编写spark-submit脚本

#!/bin/sh

export HADOOP_USER_NAME=${9}

USER=${1}
echo “用户:”${USER}

L_DIR=${2}

JAR_PATH=${3}
echo “JAR_PATH:”${JAR_PATH}

MAIN_CALSS=${4}
echo “MAIN_CALSS:”${MAIN_CALSS}

EXE_MEM=${5}
echo “EXE_MEM:”${EXE_MEM}

EXE_NUM=${6}
echo “EXE_NUM:”${EXE_NUM}

EXE_CORE=${7}
echo “EXE_CORE:”${EXE_CORE}

PARAMS=${8}
echo “PARAMS:”${PARAMS}

TMP_DIR=$(cat /proc/sys/kernel/random/uuid)

# 在临时目录下创建文件夹
if [ ! -d " L D I R / {L_DIR}/ LD?IR/{USER}/ T M P D I R " ] ; t h e n e c h o " 创 建 临 时 目 录 : " {TMP_DIR}" ];then echo "创建临时目录:" TMPD?IR"];thenecho":"{TMP_DIR}
mkdir -p L D I R / {L_DIR}/ LD?IR/{USER}/${TMP_DIR}
fi

# 下载JAR包
hdfs dfs -get ${JAR_PATH} L D I R / {L_DIR}/ LD?IR/{USER}/${TMP_DIR}

# 取出执行文件名称,不带路径
JAR_SPLIT=(echo ${JAR_PATH} | tr '/' ' ' )

# 执行目录授权
chmod -R 777\ ${L_DIR}/${USER}/${TMP_DIR}/

#修改执行用户
export HADOOP_USER_NAME=${1}

# 执行脚本
echo “/usr/bin/spark2-submit --class ${MAIN_CALSS} --driver-memory 6G --master yarn --deploy-mode client --executor-memory ${EXE_MEM}G --num-executors ${EXE_NUM} --executor-cores ${EXE_CORE} ${JAR_SPLIT[-1]} ${PARAMS}”

/usr/bin/spark2-submit --class ${MAIN_CALSS} --driver-memory 6G --master yarn --deploy-mode client --executor-memory ${EXE_MEM}G --num-executors ${EXE_NUM} --executor-cores ${EXE_CORE} --conf spark.yarn.executor.memoryOverhead=10240 ${L_DIR}/${USER}/${TMP_DIR}/${JAR_SPLIT[-1]} ${PARAMS}

echo “删除临时目录:”${TMP_DIR}
rm -rf ${L_DIR}/ U S E R / {USER}/ USER/{TMP_DIR}

# 在临时目录下创建文件夹
if [ ! -d “${L_DIR}/ U S E R / {USER}/ USER/{TMP_DIR}” ];then
echo “创建临时目录:”${TMP_DIR}
mkdir -p ${L_DIR}/${USER}/${TMP_DIR}
fi

# 下载JAR包
hdfs dfs -get ${JAR_PATH} ${L_DIR}/${USER}/${TMP_DIR}

# 取出执行文件名称,不带路径
JAR_SPLIT=(echo ${JAR_PATH} | tr '/' ' ' )

# 执行目录授权
chmod -R 777 ${L_DIR}/${USER}/${TMP_DIR}/

#修改执行用户
export HADOOP_USER_NAME=${1}

# 执行脚本
echo “/usr/bin/spark2-submit --class ${MAIN_CALSS} --driver-memory 6G --master yarn --deploy-mode client --executor-memory ${EXE_MEM}G --num-executors ${EXE_NUM} --executor-cores ${EXE_CORE} ${JAR_SPLIT[-1]} ${PARAMS}”

/usr/bin/spark2-submit --class ${MAIN_CALSS} --driver-memory 6G --master yarn --deploy-mode client --executor-memory ${EXE_MEM}G --num-executors ${EXE_NUM} --executor-cores ${EXE_CORE} --conf spark.yarn.executor.memoryOverhead=10240 ${L_DIR}/${USER}/${TMP_DIR}/${JAR_SPLIT[-1]} ${PARAMS}

echo “删除临时目录:”${TMP_DIR}
rm -rf ${L_DIR}/${USER}/${TMP_DIR}

2 编辑脚本默认参数

1、2、3…中的值表示脚本中参数的值,带有${}表示提交任务时需要手动填写的参数
1、2、3...代码参数
在这里插入图片描述

3 添加参数

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:27:43  更:2021-08-17 15:28:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 5:46:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码