MapReduce 官方案例程序[wordcount]

首先准备一个文件. data.txt
上传文件到hdfs:

  1. # 递归创建路径
  2. hdfs dfs -mkdir -p /usr/data/input
  3. # 上传文件到hdfs
  4. hdfs dfs -put data.txt /usr/data/input

可以通过访问hdfs 的管理页面进行查看情况: http://node1:9870

进入到代码样例路径

  1. cd $HADOOP_HOME/share/hadoop/mapreduce
  2. hadoop jar hadoop-mapreduce-examples-3.2.1.jar wordcount /usr/data/input /usr/data/output

查看执行结果:

  1. hdfs dfs -ls /usr/data/output
  2. hdfs dfs -cat /usr/data/output/part-r-00000

MR代码运行方式

上传jar到hdfs 方式运行

参考上面方式

嵌入linux, windos[非hadoop jar] 的集群方式

  1. mapreduce.framework.name = yarn
  2. job.setJar("/Users/mac/Documents/GitHub/bigdata/target/bigdata-1.0-SNAPSHOT.jar");

本地运行方式[idea 直接运行代码]

需要修改的内容:

# 修改mapred-site.xml 中的mapreduce.framework.name 值为local

# 或者在config 中覆盖设置
mapreduce.framework.name = local

注意:
提示用户名没有权限。手动设置用户

System.setProperty("HADOOP_USER_NAME", "root");

个性化参数配置:

// 参数个性化. 这个里面会处理掉 -D 的配置参数
GenericOptionsParser parser = new GenericOptionsParser(config, args);
String[] others = parser.getRemainingArgs();