通过前面的操作,我们已经搭建好了hdfs集群,现在的hdfs集群就相当于一个整体,如果我们想要用这个集群的话,就需要使用一个客户端来对文件进行操作。hdfs中的文件 不是指本机的文件,而是指,交由namenode和datanode管理的文件。那么这个客户端在哪里呢?我们的hadoop安装包中已经自带了客户端。
那么我们如何使用这个客户端呢?我们只需要通过hadoop中自带的脚本,就可以操作
我们尝试操作一下:
这里一定要注意,如果我们想放到hdfs的根目录我们一定要配置好core-site.xml,否则这里的文件是传不到hdfs文件系统中的。默认会传到本地。
上传成功标志:
当我们再传这个文件的时候,就会提示文件已存在,这时候我们可以改个名字:
那我们传上去的文件去了哪里呢?我们可以尝试的找找:
每个块都会保存三份副本,保存到datanode节点上。客户端会对传上去的文件进行切块,每128M切一块。当然这些值是系统默认的,我们也可以在配置文件中指定。我们可以在hdfs-site.xml中这样设置:
<property>
<name>dfs.blocksize</name>
<value>256m</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
注意,这些配置不是给服务端的namenode和datanode看的,而是给客户端程序看的。
客户端可以运行在任何机器上(前提是这台机器能够跟hdfs集群的机器联网,这台机器上需要有hadoop安装包)