1. 端口 50070
2. hdfs是分布式文件系统,文件在物理上分块存储,块大小默认128M。
一次写入多次读出,不支持修改。
3. hdfs分为NameNode和DataNode
NameNode(nn)主节点:管理元数据(维护目录树)、响应请求。
元数据:数据块的id,数据块所在服务器,数据块的副本数,文件的路径(目录树)。
DataNode(dn)从节点:管理数据块(数据块默认3备份)、定期向nn汇报。
4. 启动 start-dfs.sh
5. 命令行命令
执行:hadoop sf -命令 例如:Hadoop sf -ls 显示目录信息
或者 hdfs dfs -命令 例如:hdfs dfs -ls 显示目录信息
命令有哪些:
moveFromLocal xx/xx/xx.txt xx/xx/xx 从本地剪切到hdfs
moveToLocal xx/xx/xx xx/xx/xx.txt 从hdfs剪切到本地
copyFromLocal xx/xx/xx.txt xx/xx/xx 从本地复制到hdfs( put xx/xx/xx.txt xx/xx/xx)
copyToLocal xx/xx/xx xx/xx/xx.txt 从hdfs复制到本地(get xx/xx/xx xx/xx/xx.txt )
appendToFile xx/xx/a.xx xx/xx/b.xx 追加一个文件(a)到另一个(b)已经存在的文件的末尾
setrep 3 a.txt 设置a.txt文件的备份数
6. java命令
//连接 Configuration conf=new Configuration(); fs = FileSystem.get(new URI("hdfs://rainbow01:9000"), conf, "root"); //命令 fs.mkdirs(new Path("/wordcount/output"));//创建目录 fs.copyToLocalFile(false, new Path("/slaves"), new Path("/Users/rainbow"), true);//下载 fs.copyFromLocalFile(new Path("/Users/rainbow/Desktop/a.txt"), new Path("/wordcount/input"));//上传 fs.delete(new Path("/aaa"), true);// 删除文件夹 ,如果是非空文件夹,参数2必须给值true fs.rename(new Path("/a1"), new Path("/a2"));// 重命名文件或文件夹 //结束 fs.close();