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

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.csdn.net/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.csdn.net/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让他们的值相等就可以了。

你可能感兴趣的:(使用datax的时候,遇到的一些问题)