分享

为啥 copyFromLocal 在shell脚本里不好使?

RnD_Alex 发表于 2013-10-25 10:44:04 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 5573
在shell脚本里面用 hadoop fs -copyFromLocal 命令把本地文件load到hdfs里。 用法:hadoop fs -copyFromLocal "$gzfile" "$hadoopfile" ,其中的两个变量是预先装配好的。手动运行sh脚本,工作正常,文件能装载到hdfs。但是配置crontab定时运行脚本,则不能装载文件。可以确定的是sh脚本确实按时执行了,只是hadoop fs -copyFromLocal没效果。请大家帮我看看咋回事吗?谢谢

已有(4)人评论

跳转到指定楼层
yaojiank 发表于 2013-10-25 10:44:04
这个情况太多了,既然没有成功那肯定有日志啊,先去看一下日志。 然后在post出来。
回复

使用道具 举报

xukunddp 发表于 2013-10-25 10:44:04
楼上的是说hadoop的运行日志吗吗?
回复

使用道具 举报

ruanhero 发表于 2013-10-25 10:44:04
换了个办法,不用copyFromLocal命令导入了。写了java程序,如下。定时执行没有。
public static void main(String[] args) throws Exception {
        String localSrc = args[0];
        String dst = args[1];
        Configuration config = new Configuration();
        FileSystem fs = FileSystem.get(URI.create(dst),config);
        Path srcPath = new Path(localSrc);
        Path dstPath = new Path(dst);
        fs.copyFromLocalFile(srcPath, dstPath);
    }
回复

使用道具 举报

lxs_huntingjob 发表于 2013-10-25 10:44:04
对,Hadoop的执行日志和当时的抛出的出错情况。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条