sqoop集成Kerberos

隶属于文章系列:大数据安全实战 https://www.jianshu.com/p/76627fd8399c


  • 创建密钥文件 /var/opt/app/keytab/zkcli.keyTab
  • 创建配置文件:/var/opt/app/keytab/gss-jaas.conf
com.sun.security.jgss.initiate {
   com.sun.security.auth.module.Krb5LoginModule required
   useKeyTab=true
   useTicketCache=false
   principal="zkcli@TT.COM"
   doNotPrompt=true
   keyTab="/var/opt/app/keytab/zkcli.keyTab"
   debug=true;
};
  • 执行命令用上配置文件
sqoop import  \
-D java.security.auth.login.config=/var/opt/app/keytab/gss-jaas.conf \
-D sun.security.jgss.debug=true \
-D javax.security.auth.useSubjectCredsOnly=false \
--connect jdbc:mysql://172.20.176.138:3306/sqoop --username dishy --password dishy --table jonlen \
--warehouse-dir /tmp/mytargetdir -m 1

问题

sqoop:找不到用户

跟hive类似:导数据也用mapreduce,所以导数据的用户也是在整个集群上都存在
每次在执行sqoop命令前,执行kinit XXX或者kinit -kt ***.keytab来切换用户。

用脚本指定sqoop的运行用户

#!/bin/bash
/usr/bin/expect <<-EOF
      set time 36
      # login

      ### change user
      spawn  kinit ***********
      expect "*Password:*"
      #send "echo '@@@@@@@@@@@@@' \r"
      send "Mzg2NGQ4OTdkM\r"
      expect "*]#"

      ### exec cmd
      send "echo `date` \r"
      expect "*]$"

      send "exit\r"
      expect eof
EOF

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,134评论 19 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 101,040评论 9 468
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,629评论 2 33
  • 环境准备:h15机器,mysql使用h15的,不用h17的mysql 配置hive的环境变量和hadoop的环境变...
    三万_chenbing阅读 2,661评论 0 1
  • 有的人喜欢把努力二字写在脸上、朋友圈里、个性签名里;而有的人却喜欢低调努力,默默收获,他们不说,不代表他们没有在努...
    諪諪_0c2f阅读 187评论 0 0

友情链接更多精彩内容