java编写hdfs程序
1、hdfs系统会把用到的数据存储在core-site.xml中由hadoop.tmp.dir指定,而这个值默认位于/tmp/hadoop-${user.name}下面, 由于/tmp目录在系统重启时候会被删除,所以应该修改目录位置。 修改core-site.xml(在所有站点上都修改)
1 <property>
2 <name>hadoop.tmp.dir</name>
3 <value>/var/hadoop</value>
4 </property>
2、通过hdfs namenode -format (格式化Hadoop文件系统)
hdfs namenode -format
3、通过java程序访问hdfs,就把HDFS集群当成一个大的系统磁盘就行了.
4、windows上的权限系统和linux上的权限系统,测试期间为了简单起见可以关闭权限检查 在namenode的hdfs-site.xml上,添加配置:
1 <property>
2 <name>dfs.permissions.enabled</name>
3 <value>false</value>
4 </property>
5、重新启动namenode:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode
6、从HDFS中读取文件
1 URL.setURLStreamHandlerFactory(newFsUrlStreamHandlerFactory());
2 InputStream in =newURL(
"[hdfs://192.168.56.100:9000/test.data]
(hdfs://192.168.56.100:9000/test.data)"
).openStream();
3 IOUtils.copyBytes(in, System.out,4096,true);