使用datax的时候,遇到的一些问题

本文记录了在使用DataX时遇到的问题,包括Hive创建表报错、从Mysql导入Hive的数据格式错误以及Hadoop权限和集群ID不匹配导致的故障。解决方案包括调整Hive的字段分隔符、修改HDFS权限和同步Hadoop集群ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、之前是hadoop高可用,把高可用撤去之后,用hive创建表,报错
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.IllegalArgumentException: java.net.UnknownHostException: cluster1)

解决方法:

2、datax把数据从Mysql导入到hive出错:
Code:[HdfsWriter-02], Description:[您填写的参数值不合法.]. - 仅仅支持单字符切分, 您配置的切分为 : [/t]

https://blog.youkuaiyun.com/dr_guo/article/details/82222151
特别注意:hive存在hdfs上的数据默认是以’\001’分隔的,如果用vim打开文件会看到是以^A分隔,但分隔符要用"fieldDelimiter": “\u0001”!!!

3、datax把数据从Mysql导入到hive出错:
org.apache.hadoop.security.AccessControlException: Permission denied:

方法一、在hdfs的配置文件中,将dfs.permissions修改为False

方法二、执行这样的操作 hadoop fs -chmod 777 /user/hadoop

4、HADOOP去高可用过程中遇到的问题
开始的时候是:hadoop datanode自动关闭
网上搜到的解决办法是:删除/opt/data/tmp下所有文件及文件夹,然后重新hadoop namenode -format
但是并没有解决问题,还启动不了datanode了

后面查看到另外一种方法https://blog.youkuaiyun.com/baidu_19473529/article/details/52813656
查看datanode日志,是namenode 和datanodeCID不等:
java.io.IOException: Incompatible clusterIDs in /export/data/hddata/dfs/data: namenode clusterID = CID-e5f40b09-6e3c-410f-8aad-90a29cb29207; datanode clusterID = CID-48fc0657-5e2b-4411-a0d8-46f99d137abc

解决办法:去修改clusterID让他们的值相等就可以了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值