内容纲要
概要描述
本案例简单介绍两种,在开启安全的情况下,workflow 的 shell 脚本如何通过安全认证
实验环境: TDH 6.0.2 开启 guardian 插件
实验内容: 实现 sqoop 脚本从 hdfs 导入导出到 mysql
详细说明
- 通过 shell 脚本内容认证
- workflow 任务配置页面设置认证
1、通过 shell 脚本内容认证:
1、安装客户端操作,将 tdh-clent.tar 放到 安装 workflow 的所有节点的 /var/lib/workflow1下;
ps:不能直接放 TDH-Client 文件夹,不要忘记重启,重启之后 tdh-clent.tar 包将自动解压
2、因为要访问 oracle 数据库,需要将 oracle 的驱动包上传到 tdh-client 客户端的/sqoop/lib下
3、下载 hdfs 的 keytab 文件放到 /var/lib/workflow1 下
4、查看 principal
5、创建工作流,脚本内容如下:
source /bin/tdh_client_import.sh
kinit hdfs@TDH -kt /var/lib/workflow/hdfs.keytab
sqoop list-tables --connect "jdbc:oracle:thin:@172.22.44.1:1521:orcl" --username jane --password 123
2、workflow 配置直接认证:
workflow 任务设置页面有安全认证的设置,通过 workflow 自带的 kerberos 认证完成安全认证。在任务设置页面,填写正确的 keytab,以及对应的 principal 即可,此时无需通过脚本内容认证即可访问开启安全的 TDH 服务;
source /bin/tdh_client_import.sh
sqoop list-tables --connect "jdbc:oracle:thin:@172.22.44.1:1521:orcl" --username jane --password 123
sqoop其他使用命令可以参考文档: