java編寫hdfs程序
1、hdfs系統(tǒng)會把用到的數(shù)據(jù)存儲在core-site.xml中由hadoop.tmp.dir指定叫乌,而這個值默認(rèn)位于/tmp/hadoop-${user.name}下面踩衩, 由于/tmp目錄在系統(tǒng)重啟時候會被刪除嚼鹉,所以應(yīng)該修改目錄位置。 修改core-site.xml(在所有站點上都修改)
1 <property>
2 <name>hadoop.tmp.dir</name>
3 <value>/var/hadoop</value>
4 </property>
2驱富、通過hdfs namenode -format (格式化Hadoop文件系統(tǒng))
hdfs namenode -format
3锚赤、通過java程序訪問hdfs,就把HDFS集群當(dāng)成一個大的系統(tǒng)磁盤就行了.
4萌朱、windows上的權(quán)限系統(tǒng)和linux上的權(quán)限系統(tǒng)宴树,測試期間為了簡單起見可以關(guān)閉權(quán)限檢查 在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);