文章目录

  • 前言
  • 一、Kerberos认证问题
  • 二、解决方案一
    • 1.修改Json文件
    • 2. 配置文件
    • 3. 重新编译打包
  • 三、解决方案二
  • 总结

前言

如果没有使用kerberos认证的Hadoop集群直接参照官方文档就好了,但是如果使用了kerberos安全认证的,那么接下来是一个比较值得推荐的做法。


一、Kerberos认证问题

有关Kerberos认证相关的问题这里不展开讲,有需要的小伙伴可以自行百度,这里主要讲下使用datax抽数从个MySQL到Hive的kerberos认证问题处理解决办法。

二、解决方案一

1.修改Json文件

datax(mysql2hive.json)(示例):

writer.parameter参数设置:

 "haveKerberos":true,"kerberosKeytabFilePath":"/xxx/kerberos/app_prd.keytab","defaultFS":"hdfs://nameservice1","kerberosPrincipal":"app_prd@FAYSON.COM"

2. 配置文件

代码如下(示例):

将 core-site.xml hdfs-site.xml hive-site.xml yarn-site.xml 相关的文件,分别放置在datax/hdfsreader/src/main/resources和datax/hdfswriter/src/main/resources目录下

3. 重新编译打包

source ~/.bashrc
mvn -U clean package assembly:assembly -Dmaven.test.skip=true

三、解决方案二

这里直接将配置文件附在了json文件中更直观,不过看起来有些冗长。

{"job": {"content": [{"reader": {"name": "mysqlreader","parameter": {"username": "xxxx","password": "xxxx","column" : ["id"                   ,"les_id"               ,"grade_id"             ,"edition_id"           ,"subject_id"           ,"course_system_first_id","course_system_second_id","course_system_third_id","course_system_four_id","custom_points"        ,"deleted"              ,"created_at"           ,"tea_id"               ,"stu_id"               ,"les_uid"              ,"updated_at"           ,"pt"],"connection": [{"jdbcUrl": ["jdbc:mysql://xxxx:3306/test?useUnicode=true&characterEncoding=utf8"],"table": ["ods_lesson_course_content_rt_df_tmp"]}]}},"writer": {"name": "hdfswriter","parameter": {"column": [{"name":"id"        , "type":"int"},{"name":"les_id"    , "type":"int"},{"name":"grade_id"  , "type":"int"},{"name":"edition_id", "type":"int"},{"name":"subject_id", "type":"int"},{"name":"course_system_first_id" , "type":"int"},{"name":"course_system_second_id", "type":"int"},{"name":"course_system_third_id" , "type":"int"},{"name":"course_system_four_id"  , "type":"int"},{"name":"custom_points", "type":"string"},{"name":"deleted"      ,"type":"TINYINT"},{"name":"created_at"   ,"type":"string"},{"name":"tea_id"       ,"type":"int"},{"name":"stu_id",       "type":"int"},{"name":"les_uid"      ,"type":"string"},{"name":"updated_at"   ,"type":"string"}],"defaultFS": "hdfs://nameservice1","hadoopConfig":{"dfs.nameservices": "nameservice1","dfs.ha.namenodes.nameservice1": "namenode286,namenode36","dfs.namenode.rpc-address.nameservice1.namenode286": "xxxx:8020","dfs.namenode.rpc-address.nameservice1.namenode36": "xxxx:8020","dfs.client.failover.proxy.provider.nameservice1": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"},"haveKerberos": "true","kerberosKeytabFilePath": "/home/xx/kerberos/xxx.keytab","kerberosPrincipal":"xxx@FAYSON.COM","encoding": "UTF-8","fileType": "orc","fileName": "ods_lesson_course_content_rt_df_orc_2","path": "/user/hive/warehouse/ods.db/ods_lesson_course_content_rt_df_orc_2/pt=2020-01-20","writeMode": "append", // append & overwrite"fieldDelimiter" :"\u0001"               }}}],"setting": {"speed": {"channel": "5"},"errorLimit": {"record": 0}}}
}

总结

这里主要提供了有关datax抽数的kerberos认证问题解决方案,但是如果Hadoop集群相关的配置文件发生了修改比如NameNode机器、端口号发生修改都需要重新打包,如果不想这么做也可以在配置文件中直接指定,在最后附上解决方案,具体使用哪一种自行决定,我们之所以决定打包到hdfs reader和writer插件中是因为不想json看起来太长,而且像集群的配置文件基本上不会做大的变动,当然如果是升级集群那就需要重新打包了,但是第二种方式就不需要。

Datax从入门到精通03--Kerberos认证问题处理相关推荐

  1. GNS3从入门到精通

    GNS3是一款优秀的具有图形化界面的模拟器.可以运行在多平台上(Windows,Linux,MacOS等). 其最大的特点就是搭建拓扑极其简单,且支持保存startup-config,供下次实验中继续 ...

  2. ocp跟oce的区别 oracle_Oracle视频10g 11g认证视频教程 OCA/OCP 从入门到精通 数据库DBA...

    一.认证 Oracle OCP认证(Database 10g Administrator Certified Professional)为Oracle公司的数据库专家的认证.拥有OCP认证说明你拥有了 ...

  3. 视频教程-华为HCNP网络工程师【从入门到精通】自学视频[肖哥] ¥499-华为认证

    华为HCNP网络工程师[从入门到精通]自学视频[肖哥] ¥499 肖老师(肖哥),思科认证讲师讲师(CCIE#27529),RedHat Linux认证讲师讲师,Juniper 认证讲师讲师,微软认证 ...

  4. Kali Linux 从入门到精通(十一)–提权

    Kali Linux 从入门到精通(十一)–提权 本地提权 已实现本地低权限账号登录 远程溢出 直接获得账号密码 希望获取更高权限 实现对目标进一步控制 系统之间权限隔离 操作系统安全的基础 用户空间 ...

  5. Iaas-openstack从入门到精通

    学习课程连接: openstack从入门到精通 第二章 openstack核心组件详细介绍 2-1openstack和kubernetes联系和区别 2-2准备安装openstack需要实验环境 虚拟 ...

  6. Docker 从入门到精通(0基础也能看懂的教程)

    今天给大家分享一篇小白也能看懂的Docker入门到精通学习教程,篇幅较长,但内容很干,值得认真看完! 1 容器简介 1.1 什么是 Linux 容器 1.2 容器不就是虚拟化吗 1.3 容器发展简史 ...

  7. SpringCloud Alibaba 从入门到精通(精选)

    SpringCloud Alibaba 从入门到精通 一. 课程介绍 1.1 课程导学 1.2 项目环境搭建 二. SpringBoot基础 2.1 本章概述 2.2 Spring Boot是什么?能 ...

  8. SpringCloud从入门到精通教程/SpringCloud Alibaba从入门到精通教程

    对于SpringCloud,很多小伙伴问到了我的研究学习资料来源,除官方文档外,特例完整整理一下自己的平时参考学习其他资料,以及分享实战项目源码和代码资源,供大家参考学习 主要教程:SpringClo ...

  9. Spring Boot从入门到精通(超详细)

    Spring Boot从入门到精通(超详细) _kayden_ 2020-07-20 15:19:22 9491 正在上传-重新上传取消​ 收藏 184 分类专栏: springboot 文章标签:  ...

最新文章

  1. arcsde服务启动不了
  2. linux 有名管道pipe,linux 用無名管道pipe和有名管道fifo實現線程間通信
  3. node mysql 跨库查询_nodejs 在mongodb在跨数据库之中如何进行关联起来查询,并且支持筛选关联表的条件进行查询...
  4. [C#.NET通用权限管里系统组件]对资源权限、列表型、记录级权限、数据集权限的实现参考...
  5. Spring Boot学习笔记:Spring Boot核心配置
  6. SQL Server JSON:性能手册
  7. C# 中 ? 和 ??
  8. Pycharm安装中文语言插件
  9. JS中clientHeight、scrollHeight、offsetHeight、scrollTop、offsetTop的定义
  10. openffice安装(windows和linux)
  11. 【JoJo的摄影笔记】黎明女神的呼唤—— 佳能王朝霸业崛起
  12. 通过Htpp访问svn内容
  13. FART脱壳机的使用与进阶(1)_FART的安装与使用(pixel为例)
  14. Linux正确删除软链接
  15. 学习es6中class——整合阮一峰教程、MDN
  16. iCamera App Kit 使用说明
  17. 公众号改名竟是为了这个?
  18. Java 树形结构目录树的几种生成方式
  19. 三坟五典几人知――中国最古老的图书探源
  20. Qt5学习 模仿qq音乐播放器样式(1)

热门文章

  1. 寻呼(Paging)
  2. ctex安装及使用技巧
  3. 掌控习惯读后感-詹姆斯·克利尔(James Clear)
  4. java 部署策略_如何使用TeamCity和Octopus完成此分支和部署策略
  5. 二本学校有java校招_二本学校校招心得体会
  6. weautomate rpa开发心得
  7. python手写板,机器语言之手写识别_源码时代Python公开课|Python培训
  8. 如何实行反编译,将.class文件转化为.java文件
  9. Single SPI、Dual SPI、Qaud SPI
  10. python如何绘制条形图_python Matplotlib 系列教程(三)——绘制直方图和条形图