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

  • Post author:
  • Post category:其他



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



版权声明:本文为Angular_need原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。