linux hdfs 文件推送,Linux上传本地文件到Hadoop的HDFS文件系统

记录如何将本地文件上传至HDFS中

前提是已经启动了hadoop成功(nodedate都成功启动)

①先切换到HDFS用户

②创建一个input文件夹

zhangsf@hadoop1:~$ hdfs dfs -mkdir /input

多级创建的时候  hdfs dfs -mkdir -p /wifi/classify

查看创建的文件夹在 hadoop1:50070中查看(我自己的对应的是:  http://192.168.5.130:50070)

603637871a1dd88beb3b1dc2ac3b29bf.png

③将本地文件上传到HDFS,前面为 服务器中的文件路径,后面为HDFS中路径

zhangsf@hadoop1:~$ hdfs dfs -put /home/zhangsf/aaa.txt /input

zhangsf@hadoop1:~$ hdfs dfs -ls /input

Found 1 items

-rw-r--r-- 2 zhangsf supergroup 89 2018-06-12 06:03 /input/aaa.txt

其中 aaa.txt 是本地文件

zhangsf@hadoop1:~$ ls

aaa.txt data hadoop hadoop2 opt package

zhangsf@hadoop1:~$ pwd

/home/zhangsf

查看自己上传成功了,也可以进入hadoop1:7077的

Browse Directory中查看

0e2a2d6fe4add12f3111e93aa18a2ccb.png

查看

1c88b7e2d9aa0710334c37e23f17550d.png

上传成功ok!

方法二: 使用moveFromLocal指令

zhangsf@hadoop1:~$ hadoop fs -moveFromLocal aaa.txt /data

7392e14ae36a121eba223b3e61da6524.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ChitGPT: 您好,我明白了您的要求。您想知道如何采集目录下的所有新文件HDFS。为了实现这一目标,您需要使用一些工具和命令,如Hadoop命令行界面和Flume。首先,您需要确保HDFS和Flume都已经正确安装和配置。 接下来,您需要使用Flume配置文件来配置Flume代理,以便在本地监视文件夹中的新文件。然后,Flume将把这些新文件推送HDFS中。 以下是一个例子Flume配置文件,请您结合您的实际环境进行修改: ```properties agent.sources =fileSource agent.channels = memoryChannel agent.sinks =hdfsSink agent.sources.fileSource.type = spooldir agent.sources.fileSource.spoolDir = /path/to/input/directory agent.channels.memoryChannel.type = memory agent.channels.memoryChannel.capacity = 1000 agent.channels.memoryChannel.transactionCapacity = 100 agent.sinks.hdfsSink.type = hdfs agent.sinks.hdfsSink.hdfs.path = hdfs://localhost:8020/user/hdfs/output-directory agent.sinks.hdfsSink.hdfs.fileType = DataStream agent.sinks.hdfsSink.hdfs.writeFormat = Text agent.sinks.hdfsSink.hdfs.useLocalTimeStamp = true agent.sinks.hdfsSink.hdfs.pathSuffix = .log agent.sources.fileSource.channels = memoryChannel agent.sinks.hdfsSink.channel = memoryChannel ``` 在这个配置文件中,您需要更改`spoolDir`和`path`以匹配您的实际目录和HDFS输出路径。您还需要更改`user`和`output-directory`以匹配您的HDFS用户和输出目录。 最后,您可以使用以下命令来执行您的Flume代理: ```bash $ flume-ng agent --name agent --conf-file /path/to/flume/conf --classpath /path/to/flume/lib -Dflume.root.logger=INFO,console ``` 这将启动Flume代理并开始监视指定目录中的新文件,并将其推送HDFS中。希望这个答案有帮助,如果您有任何其他问题或需求,请随时告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值