Public class putmerge {
/**
* @ Param ARGs
* Void
* @ Throws ioexception
*/
Public static void main (string [] ARGs) throws ioexception {
// Todo auto-generated method stub
Configuration conf = new configuration ();
Filesystem HDFS = filesystem. Get (CONF );
Filesystem local = filesystem. getlocal (CONF );
Path inputdir = New Path ("/home/du/inout ");
Path hdfsfile = New Path ("/myhdfs ");
Try
{
Filestatus [] inputfiles = Local. liststatus (inputdir );
Fsdataoutputstream out = HDFS. append (hdfsfile );
For (INT I = 0; I <inputfiles. length; I ++)
{
System. Out. println (inputfiles [I]. getpath (). getname ());
Fsdatainputstream in = Local. Open (inputfiles [I]. getpath ());
Byte buffer [] = new byte [1024];
Int bytesread = 0;
While (bytesread = in. Read (buffer)> 0)
{
Out. Write (buffer, 0, bytesread );
}
In. Close ();
}
Out. Close ();
}
Catch (ioexception E)
{
E. printstacktrace ();
}
}
}
The HDFS. append method is used to append the specified file.
Supports append writes and also adds in the hdfs-site.xml
<Property>
<Name> DFS. Support. append </Name>
<Value> true </value>
</Property>
Namenode cannot be in safe mode.
./Hadoop dfsadmin-safemode leave setting namenode is not a security mechanism