hive2hive mtods自动设置权限实现
来源:互联网 发布:java web是什么 编辑:程序博客网 时间:2024/05/17 07:36
由于在galaxy上建hive2hive任务时会自动使用bipreempt帐号创建mtods表,但wormhole在运行hive2hive同步任务时使用sync_shanghai帐号读取北京侧hive表数据,然后写入上海侧mtods表所在hdfs路径,此时会出现写入没有权限的问题。因此需要将目录owner设置为sync_shanghai或将目录的group权限设置为可写。
(最初采用的是第一种方案,在北上集群融合后,超级帐号权限回收,改成了第二种方案)
原理:galaxy执行expect脚本,脚本自动登录161上机器,并发送后台执行auth_table.sh脚本的命令,其中auth_table.sh是161上的一个赋权脚本
注意点:直接在galaxy上发送赋权的命令无法成功,目录权限未被修改成sync_shanghai,原因不明
JSch用exec只能执行系统自带的如pwd等命令,无法执行和环境变量相关的命令,直接执行打印环境变量可以看到其中不包含hadoop等环境因此不可行,用shell方式试了下可以登录,但不知道如何发送执行命令
----------------------------------------
galaxy web上的脚本/tmp/ssh_cmd.exp(正确处理了第一次连接需要yes确认的问题,非第一次也能正确运行)
从/tmp/ssh_cmd.exp迁移到/data/appdatas/ssh_cmd.exp
#!/usr/bin/expect
set host [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
set shell [lindex $argv 3]
set table [lindex $argv 4]
set timeout 50
spawn ssh -p 58422 $user@$host
expect {
"*yes/no" {
send "yes\r";
exp_continue
}
"*password:" {
send "$password\r"
}
}
expect "*Last login"
send "echo \$PATH\r"
expect "*hadoop"
send "klist\r"
expect "Ticket*"
send "nohup sh $shell $table >> /tmp/auth_mtods_log.txt \& \r"
expect "*$table"
161上有/auth_table.sh,执行的输出会写入日志:/tmp/auth_mtods_log.txt
sh /data/home/hadoop/getticket.sh
hadoop fs -ls d hdfs://cosmos-hadoop/user/hive/warehouse/bi.db/$@
hadoop fs -chown sync_shanghai hdfs://cosmos-hadoop/user/hive/warehouse/bi.db/$@
hadoop fs -ls -d hdfs://cosmos-hadoop/user/hive/warehouse/bi.db/$@
0 0
- hive2hive mtods自动设置权限实现
- android 代码实现手机自动恢复出厂设置不需要权限
- apache实现网页浏览权限设置
- apache实现网页浏览权限设置
- 如何用ASP实现权限的设置?
- phpmyadmin实现用户创建及权限设置
- BJUI设置权限勾选子级自动选择父级
- linux 开启 自动挂载U盘 权限的设置
- 实现sql server 2005自动备份设置
- 如何实现Windows 2008自动登陆设置
- php如何设置cookie实现自动登陆?
- 设置/etc/fstab实现自动挂载
- Linux下实现自动设置SSH代理
- ruckus 设置OPTION43 实现设备自动注册
- 集成学习自动权重设置python实现
- 设置Jmeter代理服务器实现接口自动录制
- 在yii中使用Filter实现RBAC权限自动判断
- shell编程之sudo实现权限自动切换
- json字符串传到前台input
- 【3月17日】通过反射机制了解泛型的本质
- dojo框架简介
- Android实现仿支付宝流水
- 基于链表的词典
- hive2hive mtods自动设置权限实现
- 特殊的输入方式
- 判断网络连接是否已开 true 已打开 false 未打开
- Nvmain模拟器(单独使用)安装步骤:
- 路由器结构
- Redis大鹏博客转载____(一)Redis几种数据结构
- android获取bluetooth的信号强度(RSSI)
- c/c++ int,float,short 大小端转换函数
- 欢迎使用CSDN-markdown编辑器