hadoop 上传文件

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.util.Progressable;
public class UploadFile {
public static void main(String[] args) {
try {
String localSrc = "/usr/local/hadoop/NOTICE.txt";
String dst = "hdfs://localhost:9000/user/NOTICE.txt";
InputStream in = new BufferedInputStream(new FileInputStream(localSrc));
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(dst), conf);
OutputStream out = fs.create(new Path(dst), new Progressable() {
public void progress() {
System.out.print(".");
}
});

IOUtils.copyBytes(in, out, 4096, true);

System.out.println("success");

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
时间: 2024-08-06 11:13:15

hadoop 上传文件的相关文章

【大数据系列】hadoop上传文件报错_COPYING_ could only be replicated to 0 nodes

使用hadoop上传文件 hdfs dfs -put  XXX 17/12/08 17:00:39 WARN hdfs.DFSClient: DataStreamer Exception org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/sanglp/hadoop-2.7.4.tar.gz._COPYING_ could only be replicated to 0 nodes instead of m

hadoop上传文件到hdfs出错

通过命令: Hadoop fs -put /opt/program/userall20140828 hdfs://localhost:9000/tmp/tvbox/ 上传文件到hdfs是出现错误 14/12/11 17:57:49 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/tvbox/behavior_2014

Hadoop上传文件时报错: could only be replicated to 0 nodes instead of minReplication (=1)....

问题 上传文件到Hadoop异常,报错信息如下: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /home/input/qn_log.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded

Hadoop上传文件的报错

baidu了很多,都说防火墙,datanode没有正常启动的问题,可是检查了都是正常,后来还是在老外的网站上找到了解决的方法 修改了/etc/security/limits.conf文件,上传成功 这些hadoop的报错都是莫名其妙,从这个日志无法看出是这个的问题,看来还是要自己慢慢积累 * soft nofile 65536 * hard nofile 65536 hadoop dfs -put 1.txt /input/ 报错日志如下: 15/06/24 14:45:40 WARN util

数据采集之Web端上传文件到Hadoop HDFS

前言 最近在公司接到一个任务,是关于数据采集方面的. 需求主要有3个: 通过web端上传文件到HDFS; 通过日志采集的方式导入到HDFS; 将数据库DB的表数据导入到HDFS. 正好最近都有在这方面做知识储备.正所谓养兵千日,用兵一时啊.学习到的东西只有应用到真实的环境中才有意义不是么. 环境 这里只做模拟环境,而不是真实的线上环境,所以也很简单,如果要使用的话还需要优化优化. OS Debian 8.7 Hadoop 2.6.5 SpringBoot 1.5.1.RELEASE 说明一下,这

Hadoop在HA模式下远程上传文件的实现

在非HA模式下,只须如下代码就可以轻松实现上传文件,标红的这句是关键 public class CopyToHDFS { public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://master:9000"); FileSystem fs = FileSyst

hadoop用put上传文件时报错

用命令-put上传文件 报错0 datanode(s) running 原因是进行了多次格式化 解决办法: 停止集群 删除在hdfs中配置的data目录(即在core-site.xml中配置的hadoop.tmp.dir对应文件件)下面的所有数据; 重新格式化namenode(切换到hadoop目录下的bin目录下) 重新启动hadoop集群(切换到hadoop目录下的sbin目录下) 原文地址:https://www.cnblogs.com/wl2017/p/9932287.html

批量上传文件到HDFS的Shell脚本

在做Hadoop数据挖掘项目的时候,我们第一步是源数据的获取,即把相应的数据放置到HDFS中,以便Hadoop进行计算,手动将文件上传到HDFS中,未免太费时费力,所以我们可以采取像Flume一样的框架,或者采用Shell脚本进行文件的上传.下面主要提供Shell脚本的大致写法,仅供参考,可以根据不同业务进行相应的修改. 版本1: #!/bin/bash #set java env export JAVA_HOME=/export/servers/jdk export JRE_HOME=${JA

【转载】HDFS 上传文件不均衡和Balancer太慢的问题

向HDFS上传文件,如果是从某个datanode开始上传文件,会导致上传的数据优先写满当前datanode的磁盘,这对于运行分布式程序是非常不利的. 解决的办法: 1.从其他非datanode节点上传 可以将hadoop的安装目录复制一份到一个不在集群中的节点(直接从非datanode的namenode上传也可以,但是这样不太好,会增加namenode的负担,并且时间长了会让namenode上放了各种乱七八糟的文件),在这个节点上不启动任何hadoop进程,但是可以当作客户端使用.上传文件到集群