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 &

相关文章
|
22天前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
67 5
|
1月前
|
SQL 分布式计算 Hadoop
Apache Hive 帮助文档
Apache Hive 帮助文档
65 9
|
1月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
41 3
|
3月前
|
分布式计算 监控 Hadoop
详解 Apache ZooKeeper 和 Apache Oozie
【8月更文挑战第31天】
117 0
|
4月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3月前
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
332 0
|
5月前
|
存储 Apache 文件存储
在Apache环境下为Web网站增设访问控制:实战指南
在Apache服务器上保护网站资源涉及启用访问控制模块(`mod_authz_core`和`mod_auth_basic`),在`.htaccess`或`httpd.conf`中设定权限,如限制对特定目录的访问。创建`.htpasswd`文件存储用户名和密码,并使用`htpasswd`工具管理用户。完成配置后重启Apache服务,访问受限目录时需提供有效的用户名和密码。对于高安全性需求,可考虑更复杂的认证方法。【6月更文挑战第20天】
314 4
|
5月前
|
弹性计算 应用服务中间件 Linux
双剑合璧:在同一ECS服务器上共存Apache与Nginx的实战攻略
在ECS服务器上同时部署Apache和Nginx的实战:安装更新系统,Ubuntu用`sudo apt install apache2 nginx`,CentOS用`sudo yum install httpd nginx`。配置Nginx作为反向代理,处理静态内容及转发动态请求到Apache(监听8080端口)。调整Apache的`ports.conf`监听8080。重启服务测试,实现两者高效协同,提升Web服务性能。记得根据流量和需求优化配置。【6月更文挑战第21天】
524 1
|
4月前
|
分布式计算 Apache Spark
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在进行Hive分区truncate操作时遇到权限不足,怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
73 0

热门文章

最新文章

推荐镜像

更多