前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hue中使用Oozie创建Shell工作流在脚本中切换不同用户

Hue中使用Oozie创建Shell工作流在脚本中切换不同用户

作者头像
Fayson
修改2018-04-01 20:52:15
1.7K0
修改2018-04-01 20:52:15
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject

1.文档编写目的


前面Fayson讲过《Hue中使用Oozie创建Ssh工作流时sudo命令执行失败问题分析》,如果不在Shell脚本中使用sudo命令该如何切换到其它呢?本篇文章主要讲述如何Hue中使用Oozie创建Shell工作流在脚本中切换用户执行Hadoop命令。本文脚本中的主要流程如下:

  • 内容概述

1.编写测试shell脚本

2.准备测试数据及创建工作流

3.测试工作流

  • 测试环境

1.CM和CDH版本为5.13.1

2.采用root用户操作

  • 前置条件

1.集群未启用Kerberos

2.准备测试脚本


编写test.sh测试脚本,内容如下:

代码语言:txt
复制
#!/bin/bash

export HADOOP_USER_NAME=fayson

sqoop import --connect \
  jdbc:mysql://ip-172-31-6-148.fayson.com/test_db \
  --username root \
  --password 123456 \
  --table test_user \
  --target-dir /fayson/sqoopdata -m 1

hadoop fs -mv /fayson/sqoopdata/part-* /user/hive/warehouse/test_user

export PYTHON_EGG_CACHE=/tmp/.python-eggs/
impala-shell -u impala -i cdh04.fayson.com -q "invalidate metadata"

impala-shell -u fayson -i cdh04.fayson.com -q "select * from test_user"

export HADOOP_USER_NAME=hdfs

hadoop fs -ls /user/hive/warehouse/

3.测试数据准备


1.MySQL的test_user表数据

2.使用hive用户登录Hue创建test_user表并授权给fayson用户

代码语言:txt
复制
CREATE TABLE test_user(
    id int,
    name string,
    age int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
stored as TEXTFILE;

授权fayson用户有test_user表的所有权限

4.创建Oozie工作流


1.使用fayson用户登录Hue,创建一个工作流

2.点击保存,进入workspace/lib目录将编写好的test.sh脚本上传至该目录下

3.选择Ssh Action到工作流区域

4.选择上传至该工作流WorkSpace/lib目录下的shell

5.点击 “Add”,点击保存按钮完成工作流创建

5.测试MyFirstWorkflow工作流


1.点击运行按钮

提交工作流

2.点击“Submit”提交工作流,进入运行界面

3.运行成功

6.验证运行结果


1.使用fayson用户登录Hue查询test_user表

2.Shell脚本里面的hadoop fs –ls /user/hive/warehouse正确的将该目录下数据列出

在命令行使用fayson用户是没有权限查看该目录的

由此可以说明exprot HADOOP_USER_NAME成功切换了用户为hdfs

3.Impala-shell执行

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档