使用hadoop自带的例子作测试 笔记三

本文详细介绍了如何在已安装的Hadoop环境中进行基本操作,并通过Wordcount程序进行了性能测试,包括文件上传、下载、查看内容及执行计算任务。

使用hadoop自带的例子作测试

Hadoop中的常用命令:

 

//查看目录文件

root@vm:/software/hadoop/hadoop-0.20.2# bin/hadoop dfs -ls /

Found 1 items

drwxr-xr-x   - root supergroup          0 2015-10-02 13:25 /opt

 

#将操作系统中的文件放到hadoop

Hadoop dfs -put 本地文件 hadopp文件夹

 

#将文件下载到本地

Hadoop dfs -get (hadoop文件名本地路径

 

#查看文件内容 

Hadoop dfs -cat 文件名

 

#删除文件目录

Hadoop dfs -rmr 文件名

 

#全局查看datenode的情况

Hadoop dfsadmin -report

 

#对于当前运行job的操作

Hadoop job (list/kill)

 

#均衡磁盘负载

Hadoop balancer

 

#进入和退出安全模式

Hadoop dfsadmin -safemode enter

Hadoop dfsadmin -safemode leave

 

 

 

 

对安装好的hadoop进行测试

datanode中建立两个文件

Cd retacn

Mkdir input

Echo “hello world” >test1.txt

Echo “hello hadoop” >test2.txt

 

Cd ~/hadoop-0.20.2

 

#将文件上传到dfs 

Bin/hadoop dfs -put  /root/imput in

 

#查看文件

Bin/hadoop dfs -ls ./in/*

 

#查看文件内容

Hadoop dfs -cat 文件名

 

使用hadoop自带的wordcount程序进行测试

 #in为数据源,out为输出目录

root@vm:/software/hadoop/hadoop-0.20.2# bin/hadoop jar hadoop-0.20.2-examples.jar wordcount in out

15/10/02 21:28:55 INFO input.FileInputFormat: Total input paths to process : 2

15/10/02 21:28:57 INFO mapred.JobClient: Running job: job_201510022121_0001

15/10/02 21:28:58 INFO mapred.JobClient:  map 0% reduce 0%

15/10/02 21:29:50 INFO mapred.JobClient:  map 50% reduce 0%

15/10/02 21:30:03 INFO mapred.JobClient:  map 100% reduce 0%

15/10/02 21:30:09 INFO mapred.JobClient:  map 100% reduce 100%

15/10/02 21:30:11 INFO mapred.JobClient: Job complete: job_201510022121_0001

15/10/02 21:30:11 INFO mapred.JobClient: Counters: 17

15/10/02 21:30:11 INFO mapred.JobClient:   Job Counters 

15/10/02 21:30:11 INFO mapred.JobClient:     Launched reduce tasks=1

15/10/02 21:30:11 INFO mapred.JobClient:     Launched map tasks=2

15/10/02 21:30:11 INFO mapred.JobClient:     Data-local map tasks=2

15/10/02 21:30:11 INFO mapred.JobClient:   FileSystemCounters

15/10/02 21:30:11 INFO mapred.JobClient:     FILE_BYTES_READ=55

15/10/02 21:30:11 INFO mapred.JobClient:     HDFS_BYTES_READ=25

15/10/02 21:30:11 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=180

15/10/02 21:30:11 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=25

15/10/02 21:30:11 INFO mapred.JobClient:   Map-Reduce Framework

15/10/02 21:30:11 INFO mapred.JobClient:     Reduce input groups=3

15/10/02 21:30:11 INFO mapred.JobClient:     Combine output records=4

15/10/02 21:30:11 INFO mapred.JobClient:     Map input records=2

15/10/02 21:30:11 INFO mapred.JobClient:     Reduce shuffle bytes=61

15/10/02 21:30:11 INFO mapred.JobClient:     Reduce output records=3

15/10/02 21:30:11 INFO mapred.JobClient:     Spilled Records=8

15/10/02 21:30:11 INFO mapred.JobClient:     Map output bytes=41

15/10/02 21:30:11 INFO mapred.JobClient:     Combine input records=4

15/10/02 21:30:11 INFO mapred.JobClient:     Map output records=4

15/10/02 21:30:11 INFO mapred.JobClient:     Reduce input records=4

 

 

 

查看测试结果

#查看根目录下的所有文件

Bin/hadoop dfs -ls

#查看文件 

Bin/hadoop dfs -cat ./out/*

 

 

转载于:https://www.cnblogs.com/retacn-yue/p/6194230.html

<think>好的,我现在需要帮助用户在Linux环境下运行Hadoop自带的WordCount示例程序。根据用户提供的引用内容,我得先整理出正确的步骤,并确保用户能够顺利操。首先,用户可能需要了解如何准备输入文件、上传到HDFS、执行命令以及查看结果。同时,用户可能会遇到一些常见错误,比如路径问题或者JAR包不存在,这些也需要在回答中提到解决方案。 首先,我需要确认Hadoop的环境是否正确安装和配置。用户可能需要确保Hadoop已经启动,并且相关的服务如HDFS和YARN正在运行。接着,准备测试用的文本文件,例如myword.txt,然后将其上传到HDFS的指定目录,比如/data/input。根据引用[^1][^2][^3][^4][^5],上传文件的命令是hadoop fs -put。 接下来,执行WordCount程序需要找到正确的JAR包路径。不同版本的Hadoop路径可能不同,例如引用中的路径是$HADOOP_HOME/share/hadoop/mapreduce,而JAR文件名也因版本而异,如hadoop-mapreduce-examples-2.10.1.jar或3.3.4版本。用户需要根据自己安装的Hadoop版本调整JAR文件名和路径,否则会遇到“jar不存在”的错误,如引用提到的。 然后,运行命令的格式通常是hadoop jar <jar路径> wordcount <输入路径> <输出路径>。需要注意的是输出目录不能预先存在,否则Hadoop会报错,所以用户可能需要先删除旧的输出目录。此外,用户可能没有权限访问某些目录,需要确保输出路径有写入权限,如引用[^5]中的/user/hive/output。 完成业后,用户需要使用hadoop fs -cat或-get命令查看结果。同时,常见问题如JAR包路径错误、权限问题、输出目录已存在等,都需要在步骤中提醒用户,并给出解决方法,例如引用[^4]中提到的使用绝对路径或检查目录位置。 最后,生成相关问题需要考虑用户可能进一步的需求,比如不同输入格式的处理、提高性能的方法、结果保存到本地、监控业状态以及处理大文件等。这些问题可以帮助用户更深入地使用Hadoop的WordCount程序。 总结步骤应该是清晰的,分点说明,并包含注意事项和示例代码,确保用户能够一步步跟随操。同时,引用相关的问题案例,帮助用户避免常见错误,确保顺利完成测试。</think>### 分步说明:在Linux上运行Hadoop自带的WordCount程序 #### 1. 准备输入文件 - 创建测试文件 `myword.txt`(示例内容): ```plaintext Hello Hadoop Hadoop MapReduce WordCount Hello Linux ``` - 确保文件保存在Linux本地路径(如 `/home/user/`) #### 2. 上传文件到HDFS - **创建HDFS输入目录** ```bash hadoop fs -mkdir -p /data/input ``` - **上传本地文件到HDFS** ```bash hadoop fs -put /home/user/myword.txt /data/input ``` 验证文件是否上传成功: ```bash hadoop fs -ls /data/input ``` #### 3. 运行WordCount程序 - **定位Hadoop示例程序JAR包** 根据Hadoop版本找到对应的JAR文件路径(需替换版本号): ```bash cd $HADOOP_HOME/share/hadoop/mapreduce ls hadoop-mapreduce-examples-*.jar # 确认文件名 ``` 示例命令(假设版本为3.3.4): ```bash hadoop jar hadoop-mapreduce-examples-3.3.4.jar wordcount /data/input /data/output ``` **参数说明**: - `/data/input`:HDFS输入目录 - `/data/output`:HDFS输出目录(必须不存在,否则会报错) #### 4. 查看运行结果 - **检查输出目录** ```bash hadoop fs -ls /data/output ``` - **查看结果文件** ```bash hadoop fs -cat /data/output/part-r-00000 ``` 预期输出示例: ```plaintext Hadoop 2 Hello 2 Linux 1 MapReduce 1 WordCount 1 ``` --- #### 注意事项 1. **JAR包路径问题** - 若报错 `jar not found`,使用绝对路径指定JAR文件,例如: ```bash hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /data/input /data/output ``` - 通过 `find / -name "hadoop-mapreduce-examples*.jar"` 搜索文件位置[^4] 2. **输出目录冲突** - 若输出目录已存在,先删除旧目录: ```bash hadoop fs -rm -r /data/output ``` 3. **权限问题** - 若提示权限不足,尝试添加HDFS目录权限: ```bash hadoop fs -chmod 777 /data/input ``` --- §§ 相关问题 §§ 1. 如何让WordCount程序处理多个输入文件? 2. 如何优化Hadoop WordCount任务的性能? 3. 如何将WordCount结果从HDFS下载到本地? 4. 如何监控WordCount业的运行状态? 5. WordCount程序处理大文件(例如10GB)需要调整哪些参数? --- : 引用自Hadoop文件操指南 [^2]: 引用自Hadoop官方示例文档 [^3]: 引用自MapReduce开发手册 : 引用自Hadoop常见错误解决方案 : 引用自Hive与Hadoop集成案例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值