Apache Oozie一 实战操作一调度 hive 脚本|学习笔记

简介: 快速学习 Apache Oozie一 实战操作一调度 hive 脚本

开发者学堂课程【Oozie 知识精讲与实战演练Apache Oozie一 实战操作一调度 hive 脚本】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/716/detail/12788


Apache Oozie一 实战操作一调度 hive 脚本


内容介绍

一、Oozie 调度 Hive

二、小记


一、Oozie 调度 Hive

1、准备配置模板,修改配置文件

cd /export/servers/oozie-4.1.0-cdh5.14.0 安装包的根目录下 CD 进来

cp -ra examples/apps/hive2/ oozie_works/ 在目录 examples 下有个 hive up 文件夹,把这个文件夹下的东西拷贝到工作路径下,(不支持老版本)复制完成后看看那些需要修改,cd 到 oozie-works 下的 hive

tota1 24

-rw-r--r--. 1 1106 4001 1046 Jan 2018 job.properties

-rw-r--r--11106 4001 1087 Jan 2018 job.properties.security

rw-r--r--. 11106 4001 681 Jan 2018 README

-rw-r--r--. 11106 4001 966 Jan 2018 script.q

-rw-r--r--11106 4001 2073 Jan 2018 workflow.xm]

-rw-r--r--11106 4001 2481 Jan 72018 workflow.xm1.security

[root@node-1hive2]#

第一个要去调度 hive 脚本,需要去编写 hive script 语句,第二个 job 提交 hdoop相关信息,主要配置一个 job.properties 任务属性信息,第三个就是 workflow 工作的核心产品配置文件

2.修改配置模板

修改 job.properties

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/hive2

vim job.properties

指定:nameNode=hdfs//node-1:8020

jobTracker=node-1:8032

queueName=default(队列名)

jdbcURL=jdbc:hive2://node-1:10000/default(hive 地址)

通过这个去访问,必须保证 hive 服务是启动正常的。

examplesRoot=oozie works 工作路径。

(1)具体配置

打开 new 1- Notepad++,按照以上代码进行修改,一定要保持一致:

nameNode=hdfs://node-1:9000

jobTracker=node-1:8032

queueName=default

idbcURL=idbc:hive2://node-1:10000/default

examplesRoot=oozie works

oozie.use.system.libpath=true

oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot} hive2

#配置我们文件上传到 hdfs 的保存路径实际上就是在 hdfs的 /user/root/oozieworks/hive2 这个路径下ooziewfapplicationpath=${nameNode}/user/${username}/${examplesRoot}/hive2

多了 app, 把 app 进行删除,正确操作如上,一定要保持一致才可以识别资源路径

修改 workflowxml (实际上无修改),因为示例当中脚本名字叫做 script.q,如果是在企业当中,调度的是其他脚本,要把这个名字做相关的修改。

核心:

,又做了 hive 的执行,删除相关的路径,进行相关的配置,执行脚本,脚本名称叫做 script.q。

编辑 Hlivesql 文件(内容)

使用 vim script.q 做相关操作(上面是注释,可以删除)

DROP TABLE IF EXISTS test; 删除 test 的表。

CREATE EXTERNAL TABLE test(a INT)STORED AS TEXTFILE LOCATION'${INPUT}';创建 test 的表,类型是文本文件,位于 INPUT 路径。

插入:

insert into test values(10);

insert into test values(20);

insert into test values(30);

将插入的复制粘贴,脚本已经搞定,做一个保存

3、把脚本连同配置信息上传调度任务到 hdfs

cd/export/servers/oozie-4.1.0-cdh5.14.0/oozie works hdfs dfs -put hive2/ /user/root/oozie works/

复制,做修改换行,注意格式问题

把 hdfs dfs -put hive2/ /user/root/oozie works/ 进行复制,执行,会发现报错,提示没有这个文件夹,cd.. 返回到文件当中

验证:

图片1.png 

会发现多了 hive2,里面有配置的脚本以及一系列

4.执行调度任务

首先确保已经启动 hiveServer2 服务。

来到第一台服务器上验证一下,可以看到并没有 hive 服务

图片2.png

可以使用 export/servers/hive/bin/hiveserver2 命令启动在前台,也可以使用讲义上的方式启动在后台。

因为配置远程的 metastore 存储服务,所以在启动服务之前,首先必须取得metstore 原数据存储服务,启动在后台使用 nohup 命令,再把 nohup /export/servers/hive/bin/hive --service metastore 启动到后台,这样就首先启动了 hive 的原数据存储服务。

再来启动 service 服务,启动 nohup /export/servers/hive/bin/hive --service hiveserver2 &

完成启动 service 服务,使用 jps 验证。

验证方法:随便找一台机器进行 export/servers/hive/bin/beeline 验证,连接地址叫做 connect idbc:hive2:node-1:10000,登录是 root,登录密码是服务器密码。

特别强调,在调度 hive 任务之前,必须保证已经成功启动 hiveServer2 服务。

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozier job o -oozie http://node-1:11000/oozie -config oozie_works/hive2/job.properties -run

复制以上命令,记得换行进行修改,来到根目录下进行执行(如果配置了环境变量可以不用到根目录下),执行成功会发现提交 hive 程序,出现任务编号 8722-W,可以通过 oozieweb 页面进行刷新查看。

图片3.png

并且可以通过 yarn 来追踪看到调度执行的过程。

图片4.png

首先第它启动了一个 have tom 码程序,还要执行数据的插入,首先是 insert into 10是第一个语句,执行第二条插入数据的语句叫做 insert into value 20,这时候发现第一个 m 码程序现在还在 running,因为他后面的 hive 还没有执行结束,必须说 hive 执行结束之后,整个 oozie 才能执行结束,通过这里可以感受到 oozie 底层的执行过程。

验证 hive 表是否创建:

打开刚才的服务器,执行 show tables; 会发现有了相关的表

图片5.png

直接 select*from test 这个表,会发现里面就有内容

图片6.png

以上就完成了 oozie 调度 hive 脚本。


二、小记

oozie 调度 hive 脚本

首先必须保证 hiveserve2 服务是启动正常的,如果配置 metastore 服务,要首先启动 metastore

nohup /export/servers/hive/bin/hive--service metastore&

nohup /export/servers/hive/bin/hive --service hiveserver2 &

相关文章
|
3月前
|
SQL Java 数据库连接
java链接hive数据库实现增删改查操作
java链接hive数据库实现增删改查操作
146 0
|
4月前
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
96 0
|
6天前
|
SQL 数据库 HIVE
Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
【4月更文挑战第8天】Hive【基础知识 05】常用DDL操作(数据库操作+创建表+修改表+清空删除表+其他命令)
16 0
|
1月前
|
SQL 数据可视化 Apache
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
阿里云数据库 SelectDB 内核 Doris 的 SQL 方言转换工具, Doris SQL Convertor 致力于提供高效、稳定的 SQL 迁移解决方案,满足用户多样化的业务需求。兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移。
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
|
1月前
|
SQL JSON 算法
hive学习笔记
hive学习笔记
|
1月前
|
SQL 分布式计算 Java
Apache Hudi与Hive集成手册
Apache Hudi与Hive集成手册
70 0
|
3月前
|
SQL 分布式计算 安全
HIVE启动错误:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeExcept
HIVE启动错误:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeExcept
135 0
|
3月前
|
SQL 数据库 HIVE
python链接hive数据库实现增删改查操作
python链接hive数据库实现增删改查操作
139 0
|
4月前
|
SQL 存储 Apache
流数据湖平台Apache Paimon(四)集成 Hive 引擎
流数据湖平台Apache Paimon(四)集成 Hive 引擎
139 0
|
4月前
|
存储 SQL 分布式计算
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
258 0

推荐镜像

更多