永发信息网

hadoop put文件问题。

答案:4  悬赏:40  手机版
解决时间 2021-02-11 17:41
hadoop put文件问题。
最佳答案
hadoop其它命令好用吗,感觉是环境出了问题追问感谢,已经找到原因,冒似是core-site.xml中HDFS路径问题。新手,学习中。
全部回答
我也有这个问题,请问怎么解决呢?追问我的HDFS路径写错了。
有结果了吗?我也遇见这个问题了,求解决办法
Hadoop系统为了保证数据的一致性,会对文件生成相应的校验文件,并在读写的时候进行校验,确保数据的准确性。
比如我们遇到的这个Case:
执行的命令:
hadoop jar dw-hadoop-2010_7_23.jar jobDriver -files tb_steps_url_path_dim.txt multisteps_output 2011-01-25
出错日志的提示:
org.apache.hadoop.fs.ChecksumException: Checksum error: file:tb_steps_url_path_dim.txt at 0
at org.apache.hadoop.fs.FSInputChecker.verifySum(FSInputChecker.java:277)
at org.apache.hadoop.fs.FSInputChecker.readChecksumChunk(FSInputChecker.java:241)
at org.apache.hadoop.fs.FSInputChecker.read1(FSInputChecker.java:189)
at org.apache.hadoop.fs.FSInputChecker.read(FSInputChecker.java:158)
at java.io.DataInputStream.read(DataInputStream.java:83)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:49)
at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:87)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:209)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:142)
at org.apache.hadoop.mapred.JobClient.copyRemoteFiles(JobClient.java:565)
at org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:627)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:802)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:771)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1290)
at jobDriver.run(jobDriver.java:85)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at jobDriver.main(jobDriver.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
错误原因:
启动任务的命令中包含一个参数“-files tb_steps_url_path_dim.txt”
Hadoop客户端需要将机器本地磁盘中的tb_steps_url_path_dim.txt文件上传到DFS中。
在上传的过程中,Hadoop将通过FSInputChecker判断需要上传的文件是否存在进行校验的crc文件,即.tb_steps_url_path_dim.txt.crc,如果存在crc文件,将会对其内容一致性进行校验,如果校验 失败,则停止上传该文件。最终导致整个MR任务无法执行。
crc文件来源
DFS命令:hadoop fs -getmerge srcDir destFile
这类命令在执行的时候,会将srcDir目录下的所有文件合并成一个文件,保存在destFile中,同时会在本地磁盘生成一个. destFile.crc的校验文件。
DFS命令:hadoop fs -get -crc src dest
这类命令在执行的时候,会将src文件,保存在dest中,同时会在本地磁盘生成一个. dest.crc的校验文件。
如何避免
在使用hadoop fs -getmerge srcDir destFile命令时,本地磁盘一定会(没有参数可以关闭)生成相应的.crc文件。
所以如果需要修改getmerge获取的文件的内容,再次上传到DFS时,可以采取以下2种策略进行规避:
1. 删除.crc文件
2. 将getmerge获取的文件修改后重新命名,如使用mv操作,再次上传到DFS中。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么春节越来越没有年味了?
【王嘉鹏】我不是懦夫王嘉鹏练习题1、表达句
宜家牛肉面在什么地方啊,我要过去处理事情
1993年5月11日出生的人一生运气怎么样?
恐怕他们不会欢迎像你这样的访客.英文[ ] [ ]
潍坊尧舜国际贸易有限公司地址有知道的么?有
对花粉,灰尘,螨虫过敏的人可以养仓鼠吗?
简述补偿用电容器BFM11/3-100-1W的含义,包括
清河路/田园路(路口)在什么地方啊,我要过去
QQ。在群里面给@了他有我好友打了备注。我看
地暖的英语怎么说?
古代的秀才都会算卦吗?
刮胡啫哩和刮胡泡的区别
青海省烟草公司海北州公司地址在哪,我要去那
对栓剂常用基质的要求包括哪些A.室温时具有适
推荐资讯
生态水果店这个地址在什么地方,我要处理点事
我打算读文科,因为对政史地很有兴趣。但平时
花甲肉炖汤放什么材料好作用好处
电脑上符号@怎么打出来
重庆市江津区德感塑料厂地址在什么地方,想过
怎么取消移动流量套餐
我的百度云为什么只有9g空间
猫有狂犬病能活多久
绝代双椒牛肉面这个地址在什么地方,我要处理
卓雅音皇钢琴学校地址在什么地方,想过去办事
英语六级算分,非常急.听力对了18个,听词对了4
星河双语幼儿园(烟台海阳市)地址在什么地方,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?