当前位置: 首页 > news >正文

sqoop问题汇总记录

        此篇博客仅记录在使用sqoop时遇到的各种问题。持续更新,有问题评论区一起探讨,写得有不足之处见谅。

Oracle_to_hive

1. main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

日期:20241031

原因分析:Sqoop 在执行导入时依赖了 Hive,Hive 启用了 Log4j 的 JMX 功能,在没有足够权限的情况下尝试注册 MBeans 时被阻止,从而引发该错误

解决方法:

修改jdk的文件找到:jdk安装目录/jre/lib/security/java.policy

具体配置如下:在文件中添加如下内容
        permission javax.management.MBeanTrustPermission "register";

2. org.apache.atlas.AtlasException: Failed to load application yaml当集群配置了atlas时,可能会遇到此问题

日期:20241031

原因分析:无法在classpath提及的目录中找到application-atlas.yml文件

将找到的配置文件,拷贝到classpath起止一个地址中:

3. cannot recognize input near ',' 'gcrq_month' ',' in column type
24/10/31 17:05:16 ERROR ql.Driver: FAILED: ParseException line 1:895 cannot recognize input near ',' 'gcrq_month' ',' in column type
org.apache.hadoop.hive.ql.parse.ParseException: line 1:895 cannot recognize input near ',' 'gcrq_month' ',' in column type。sqoop只支持单分区问题

日期:20241031

原因分析:导入数据到hive表时,使用了多个分区字段

源码级别解析可以看:Sqoop 数据导入多分区Hive解决方法_sqoop import 多个分区-CSDN博客

换种简单的解决方式,通过HCatalog解决,先查看是否安装HCatalog

然后参数使用HCatalog:

--split-by MINUTE \
--hive-import \
--hive-table ods_pre_dat_dcsj_time \
--target-dir /user/sqoop/hive/oracle_to_hive/ods_pre_dat_dcsj_time \
--delete-target-dir \
-- --hive-drop-import-delims \
--hcatalog-database dw \
--hcatalog-table ods_pre_dat_dcsj_time \
--hcatalog-storage-stanza 'stored as orc' \
--hcatalog-partition-keys "gcrq_year,gcrq_month,gcrq_day" \
--hcatalog-partition-values "${gcrq_year},${gcrq_month},${gcrq_day}" \

--num-mappers 3 

4. FAILED: HiveAuthzPluginException Error getting permissions for hdfs://udh/user/sqoop/hive/oracle_to_hive/ods_pre_dat_dcsj_time : Unauthorized connection for super-user: hive from IP /xxx.xxx.xxx.xxx

日期:20241101

原因分析:猜测权限问题,其中xxx.xxx.xxx.xxx为我提交sqoop命令所在的服务器,“hive ”为我在服务器上以hive用户身份提交sqoop。我在sqoop命令中指定存放数据的临时目录为:--target-dir /user/sqoop/hive/oracle_to_hive/ods_pre_dat_dcsj_time,查看一下此目录的权限

发现存放临时数据目录下是有数据文件的,再看看它的父目录:

尝试用hdfs dfs -chown修改其父目录权限,改为拥有者为hive。再次执行,还是报错。

        转换下思路,难道是hive的权限限制问题?Unauthorized connection for super-user: hive from IP /10.81.35.162,大白话翻译:超级用户的未经授权的连接。而在 Hive 中,hive 用户通常是一个默认的超级用户,具备访问和操作 Hive 的所有权限

        在hdfs的core-site文件中配置:

<property>
    <name>hadoop.proxyuser.hive.groups</name>
    <value>*</value> <!-- 允许所有用户组访问 -->
</property>
<property>
    <name>hadoop.proxyuser.hive.hosts</name>
    <value>xxx.xxx.xxx.xxx</value> <!-- 允许特定 IP 地址访问 ,多ip逗号分隔-->
</property>

ambari修改的话一般在HDFS的自定义core-site中,改为以上配置后需要先重启HDFS再重启HIve


http://www.mrgr.cn/news/63389.html

相关文章:

  • 基于STM32+华为云IOT设计的大棚育苗管理系统
  • 加载视频显示 - python 实现
  • CF979
  • 在面试了些外包以后,我有了些自己的思考
  • 10 go语言(golang) - 数据类型:哈希表(map)及原理(二)
  • 如何用Python同时抓取多个网页:深入ThreadPoolExecutor
  • <实用干货>临床试验数据信息查询--中国临床试验数据库
  • 牛客网最新Java高频面试题汇总(2024最新含答案)
  • Rust 力扣 - 189. 轮转数组
  • ^M 字符处理
  • GaussDB Ustore存储引擎解读
  • Google Play商店中的类似应用:它们对ASO优化重要吗?
  • go-zero 的使用
  • 探索医学数据:使用Seaborn的成对关系图揭示变量间的关联
  • Leetcode 62. 不同路径 动态规划+空间优化
  • 【文本情感分析识别】Python+SVM算法+模型训练+文本分类+文本情感分析
  • vxe-table v4.8+ 与 v3.10+ 虚拟滚动支持动态行高,虚拟渲染更快了
  • 低代码技术:加速企业数字化转型的利器
  • 河南高校大数据实验室建设案例分享
  • 第十九章 特殊工具与技术
  • 10 P1094 [NOIP2007 普及组] 纪念品分组
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • ctfshow--xss靶场web327-web333(一命速通不了的靶场)
  • 法律文件智能识别:免费OCR平台优化数字化管理
  • 基于Springboot+Vue的流动摊位管理系统 (含源码数据库)
  • 哈尔滨华时信息技术有限公司员工赴深圳培训提升流程