Sqoop2开启Kerberos安全模式,

基于版本sqoop-1.99.7,

在已经安装好的sqoop2环境上配置kerberos。

1.安装规划

10.43.159.9 zdh-9

sqoop2krb/zdh1234

10.43.159.11 zdh-11

kerberos server

2.创建keytab

在zdh-11上,登陆root用户在/root/keytabs目录下,

创建sqoop2krb和HTTP的principal,并导出到sqoop.keytab:

kadmin.local
addprinc -randkey HTTP/zdh-9@ZDH.COM
addprinc -randkey sqoop/zdh-9@ZDH.COM
xst -k HTTPzdh9.keytab HTTP/zdh-9@ZDH.COM
xst -k sqoopzdh9.keytab sqoop/zdh-9@ZDH.COM
exit

3.分发keytab

将sqoop.keytab复制到sqoop2krb相应目录下:

scp HTTPzdh9.keytab sqoop2krb@zdh-9:/home/sqoop2krb/sqoop-1.99.7-bin-hadoop200/keytabs

scp sqoopzdh9.keytab sqoop2krb@zdh-9:/home/sqoop2krb/sqoop-1.99.7-bin-hadoop200/keytabs

修改为用户只读权限:

chmod 400 HTTPzdh9.keytab

chmod 400 sqoopzdh9.keytab

需要kinit初始化principal,否则sqoop2无法启动:

kinit -kt HTTPzdh9.keytab HTTP/zdh-9@ZDH.COM

kinit -kt sqoopzdh9.keytab sqoop/zdh-9@ZDH.COM

4.修改配置文件

登陆sqoop2krb,修改conf/sqoop.properties文件:

org.apache.sqoop.security.authentication.type=KERBEROS
org.apache.sqoop.security.authentication.handler=org.apache.sqoop.security.authentication.KerberosAuthenticationHandler
org.apache.sqoop.security.authentication.kerberos.principal=sqoop/_HOST@ZDH.COM
org.apache.sqoop.security.authentication.kerberos.keytab=/home/sqoop2krb/sqoop-1.99.7-bin-hadoop200/keytabs/sqoopzdh9.keytab
org.apache.sqoop.security.authentication.kerberos.http.principal=HTTP/_HOST@ZDH.COM
org.apache.sqoop.security.authentication.kerberos.http.keytab=/home/sqoop2krb/sqoop-1.99.7-bin-hadoop200/keytabs/HTTPzdh9.keytab
org.apache.sqoop.security.authentication.enable.doAs=true

注意:sqoop/_HOST@ZDH.COM中的_HOST不用修改,运行时会自动改为sqoop/zdh-9@ZDH.COM之类的。

5.配置环境变量

export SQOOP2_HOST=$(hostname -f)

SQOOP2_HOST(zdh-9)的值会被用来替换上面_HOST

6.启动sqoop2

sqoop2-server start

停止sqoop2:

sqoop2-server stop

启动成功并且开启kerberos可以在sqoop.log看到如下日志:

2018-03-09 10:35:12,376 INFO  [org.apache.sqoop.security.authentication.KerberosAuthenticationHandler.secureLogin(KerberosAuthenticationHandler.] Using Kerberos authentication, principal [sqoop/_HOST@ZDH.COM] keytab [/home/sqoop2krb/sqoop-1.99.7-bin-hadoop200/keytabs/sqoopzdh9.keytab]

2018-03-09 10:35:16,744 INFO  [org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler.init(KerberosAuthenticationHandler.] Login using keytab /home/sqoop2krb/sqoop-1.99.7-bin-hadoop200/keytabs/HTTPzdh9.keytab, for principal HTTP/zdh-9@ZDH.COM

7.客户端验证

先初始化凭据:

kinit -kt sqoopzdh9.keytab sqoop/zdh-9@ZDH.COM

客户端登陆:

sqoop2-shell

展示所有的connector:

show connector

sqoop2客户端执行命令时,会使用sqoop作为用户去sqoop2服务查询,

如果kinit -kt HTTPzdh9.keytab HTTP/zdh-9@ZDH.COM

则会用HTTP用户作为请求的用户,即会使用最近一次的kinit的用户作为

登陆用户去服务端查询结果。

查询结果正确,且可以在sqoop.log看到如下日志:

2018-03-09 10:46:08,377 INFO  [org.apache.sqoop.audit.FileAuditLogger.logAuditEvent(FileAuditLogger.] user=sqoop ip=10.43.159.9  op=get  obj=connectors  objId=all

8.Rest服务验证

其他服务通过HTTP请求访问rest接口,

比如RangerAdmin使用rangerlookup用户进行testConnection测试,

测试连接成功可以在sqoop.log看到如下日志:

2018-03-09 10:49:13,085 INFO  [org.apache.sqoop.audit.FileAuditLogger.logAuditEvent(FileAuditLogger.] user=rangerlookup ip=10.43.159.9  op=get  obj=connectors  objId=all

Sqoop2开启Kerberos安全模式的更多相关文章

  1. Hadoop开启Kerberos安全模式

    Hadoop开启Kerberos安全模式, 基于已经安装好的Hadoop的2.7.1环境, 在此基础上开启Kerberos安全模式. 1.安装规划 已经安装好Hadoop的环境 10.43.159.7 ...

  2. Ranger-AdminServer安装(开启Kerberos)

    Ranger-AdminServer安装, 同时开启Kerberos安全模式, 基于ranger版本0.7.0. 安装规划 10.43.159.240 zdh-240 10.43.159.245 zd ...

  3. 【原创】大叔经验分享(41)hdfs开启kerberos之后报错Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled

    hdfs开启kerberos之后,namenode报错,连不上journalnode 2019-03-15 18:54:46,504 WARN org.apache.hadoop.security.U ...

  4. Storm集群安装Version1.0.1开启Kerberos

    Storm集群安装,基于版本1.0.1, 同时开启Kerberos安全认证, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 ...

  5. Zookeeper集群安装(开启kerberos)

    安装规划 zookeeper集群模式,安装到如下三台机器 10.43.159.237 zdh-237 10.43.159.238 zdh-238 10.43.159.239 zdh-239 Kerbe ...

  6. Zookeeper单机安装(开启kerberos)

    安装规划 zookeeper安装到zdh41上面,单机模式 10.43.159.41 zdh41 ZDH.COM 安装用户 zookeeper/zdh1234 useradd -g hadoop -s ...

  7. Kylin开启Kerberos安全认证

    Kylin开启Kerberos安全认证, 由于Kylin是依赖Hbase启动的, Kylin启动脚本kylin.sh中就是调用的Hbase的启动脚本, 所以当Hbase开启了Keberos之后就等于K ...

  8. 挖坑:handoop2.6 开启kerberos(全流程学习记录)

    目录: 1.涉及插件简介 2.安装步骤 3.日志错误查看 1.kerberos是什么东西 度娘指导: Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为 客户机 / 服务器 应用程序提供 ...

  9. cloudera集群开启kerberos认证后,删除zk中的/hbase目录

    问题 在cdh集群中开启了kerberos认证,hbase集群出现一点问题,需要通过zookeeper-client访问zookeeper,删除/hbase节点时候报错:Authentication ...

随机推荐

  1. 神器Tampermonkey的安装使用

    Tampermonkey是一款基于浏览器的神奇插件,在国内称为油猴,开发者可以在上面开发满足自己需求的各类浏览器应用脚本.不过经过全球各地无数开发者数年的积累现在其官网已经有一大把的优秀的现成脚本,完 ...

  2. 【C/C++】最长不下降子序列/动态规划

    #include <iostream> #include <vector> using namespace std; int main() { //输入 int tmp; ve ...

  3. Spring Cloud Eureka源码分析之服务注册的流程与数据存储设计!

    Spring Cloud是一个生态,它提供了一套标准,这套标准可以通过不同的组件来实现,其中就包含服务注册/发现.熔断.负载均衡等,在spring-cloud-common这个包中,org.sprin ...

  4. SourceTree Git可视化管理工具通过 ssh 密钥登录

    整个流程分三步:① 生成SSH密钥:② Github/Gitee/Coding 代码托管平台绑定公钥:③ SourceTree 拉取代码 1.生成 SSH 密钥 这里直接使用 SourceTree 来 ...

  5. CSS选择器类型总结

    CSS选择器类型总结 1.通用选择器 一般用于给所有元素做一些通用性的样式设置,比如清除内边距.外边距等.但是效率比较低,尽量不要使用. * { margin: 0; padding: 0; } 2. ...

  6. JDK安装错误问题总结。

    Windows10安装JDK,测试java -version时出现could not open XXX\jvm.cfg的解决方法. 1. 切记,环境变量修改后重新测试时一定要关闭命令再重新打开才生效 ...

  7. CF979A Pizza, Pizza, Pizza!!! 题解

    Content 小 S 想把一块披萨切成大小.形状都相同的 \((n+1)\) 块(\(n\) 块分给 TA 的 \(n\) 个朋友,还有一块留给自己),试问最小需要切多少块. 数据范围:\(0\le ...

  8. CF1469D Ceil Divisions 题解

    Content 你有一个长度为 \(n\) 的数组 \(a\),初始时,\(\forall i\in[1,n]\),\(a_i=i\). 每次操作选择两个数 \(x,y(1\leqslant x,y\ ...

  9. CF1006B Polycarp's Practice 题解

    Content 给定一个长度为 \(n\) 的数列,试将其分成 \(k\) 段,使得每一段中的最大值的和最大. 数据范围:\(1\leqslant k,n,a_i\leqslant 2000\). S ...

  10. springboot目录结构、重要配置文件、重要注解的详解

    前面2篇博客已经带着大家搭建了springboot项目,并编写了持久化接口部署到tomcat下访问.这里我们一起补充下springboot的基本信息 一.springboot简单介绍 springbo ...