参考链接:
1.MapReduce编程实例
2.使用java操作HDFS
1.配置CLASSPATH
编辑~/.bashrc文件
sudo gedit ~/.bashrc
在最后加入:
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/client/*
以上路径根据自己的路径设置。
另外,如果在之后出现Hadoop或hdfs命令“command not found”的问题,需要编辑”/etc/profile”文件,在最后加入以下代码:
export HADOOP_HOME=/usr/hadoop-3.1.0
export PATH=$PATH:$HADOOP_HOME/bin
然后使其生效即可
source /etc/profile
2.测试
2.1编辑java文件:
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class Write {
public static void main(String[] args) throws IOException
{
Configuration conf = new Configuration();
Path inFile = new Path("/user/doubi/input/input_file");
FileSystem hdfs = FileSystem.get(conf);
FSDataOutputStream os = hdfs.create(inFile);
os.writeUTF("Chinese Hadoop Community\n");
os.flush();
os.close();
}
}
2.2编译并运行:
启动Hadoop以后,执行以下命令
javac Write.java
jar -cvf Write.jar ./*.class
hadoop jar Write.jar Write
hdfs dfs -ls input
hdfs dfs -cat input/input_file
运行结果如下图所示: