hadoop2.6.5运行wordcount实例

运行wordcount实例

在/tmp目录下生成两个文本文件,上面随便写两个单词。

cd /tmp/
mkdir file
cd file/
echo "Hello world" > file1.txt
cp file1.txt file2.txt

在hadoop平台中新建 /input 目录,这里不是系统的 / 目录。

cd /usr/local/hadoop-2.6.5
./bin/hadoop fs -mkdir /input
hadoop fs -ls /

drwxr-xr-x  - root supergroup  0 2018-01-04 09:32 /input

执行 ./bin/hadoop fs -mkdir /input 可能会遇到一个错误:

报错:
mkdir: Cannot create directory /input. Name node is in safe mode.
# 解决办法
bin/hadoop  dfsadmin -safemode leave 
_________________________________________

leave - 强制NameNode离开安全模式
enter - 进入安全模式
get - 返回安全模式是否开启的信息
wait - 等待,一直到安全模式结束。

把创建的文件放到hadoop平台的 /input中。

./bin/hadoop fs -put /tmp/file* /input
hadoop fs -ls /input/file

Found 2 items
-rw-r--r--  1 root supergroup        12 2018-01-04 09:32 /input/file/file1.txt
-rw-r--r--  1 root supergroup        12 2018-01-04 09:32 /input/file/file2.txt

然后运行hadoop自带的example。

./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /input/file/ /output/wordcount1
_________________________________________

18/01/04 09:54:09 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
18/01/04 09:54:10 INFO input.FileInputFormat: Total input paths to process : 2
18/01/04 09:54:10 INFO mapreduce.JobSubmitter: number of splits:2
18/01/04 09:54:10 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1515028606802_0002
18/01/04 09:54:10 INFO impl.YarnClientImpl: Submitted application application_1515028606802_0002
18/01/04 09:54:10 INFO mapreduce.Job: The url to track the job: http://iz2ze31g42iypc75mm363gz:8088/proxy/application_1515028606802_0002/
18/01/04 09:54:10 INFO mapreduce.Job: Running job: job_1515028606802_0002
18/01/04 09:54:18 INFO mapreduce.Job: Job job_1515028606802_0002 running in uber mode : false
18/01/04 09:54:18 INFO mapreduce.Job:  map 0% reduce 0%
18/01/04 09:54:27 INFO mapreduce.Job:  map 100% reduce 0%
18/01/04 09:54:33 INFO mapreduce.Job:  map 100% reduce 100%
18/01/04 09:54:33 INFO mapreduce.Job: Job job_1515028606802_0002 completed successfully
18/01/04 09:54:33 INFO mapreduce.Job: Counters: 49
    File System Counters
        FILE: Number of bytes read=54
        FILE: Number of bytes written=322109
        FILE: Number of read operations=0
        FILE: Number of large read operations=0
        FILE: Number of write operations=0
        HDFS: Number of bytes read=238
        HDFS: Number of bytes written=16
        HDFS: Number of read operations=9
        HDFS: Number of large read operations=0
        HDFS: Number of write operations=2
    Job Counters 
        Launched map tasks=2
        Launched reduce tasks=1
        Data-local map tasks=2
        Total time spent by all maps in occupied slots (ms)=12913
        Total time spent by all reduces in occupied slots (ms)=3521
        Total time spent by all map tasks (ms)=12913
        Total time spent by all reduce tasks (ms)=3521
        Total vcore-milliseconds taken by all map tasks=12913
        Total vcore-milliseconds taken by all reduce tasks=3521
        Total megabyte-milliseconds taken by all map tasks=13222912
        Total megabyte-milliseconds taken by all reduce tasks=3605504
    Map-Reduce Framework
        Map input records=2
        Map output records=4
        Map output bytes=40
        Map output materialized bytes=60
        Input split bytes=214
        Combine input records=4
        Combine output records=4
        Reduce input groups=2
        Reduce shuffle bytes=60
        Reduce input records=4
        Reduce output records=2
        Spilled Records=8
        Shuffled Maps =2
        Failed Shuffles=0
        Merged Map outputs=2
        GC time elapsed (ms)=363
        CPU time spent (ms)=1360
        Physical memory (bytes) snapshot=499748864
        Virtual memory (bytes) snapshot=6301630464
        Total committed heap usage (bytes)=301146112
    Shuffle Errors
        BAD_ID=0
        CONNECTION=0
        IO_ERROR=0
        WRONG_LENGTH=0
        WRONG_MAP=0
        WRONG_REDUCE=0
    File Input Format Counters 
        Bytes Read=24
    File Output Format Counters 
        Bytes Written=16

查看结果

./bin/hdfs dfs -cat /output/wordcount1/*  
Hello    2
world    2

转载于:https://www.cnblogs.com/hello-daocaoren/p/8195605.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Hadoop集群运行WordCount的步骤如下: 1. 准备数据:将需要统计的文本数据上传到Hadoop集群中的HDFS文件系统中。 2. 编写MapReduce程序:编写WordCount的MapReduce程序,其中包括Mapper类和Reducer类。 3. 打包程序:将编写好的MapReduce程序打包成jar包。 4. 提交作业:使用hadoop jar命令将jar包提交到Hadoop集群中运行。 5. 查看结果:等待作业运行完成后,在Hadoop集群中查看统计结果。 具体的步骤可以参考Hadoop官方文档或者其他相关教程。 ### 回答2: Hadoop是一款分布式计算框架,通过将数据分散到不同的机器上处理,从而实现了大规模数据的快速处理。Hadoop集群的运行需要通过分布式计算任务进行实现。Wordcount是Hadoop的一个经典实例,可以用来计算数据中每个单词出现的次数。 在Hadoop集群运行Wordcount首先需要准备数据,将数据上传到Hadoop文件系统HDFS中,可以使用Hadoop命令行工具或Hadoop API将数据上传到Hadoop中。上传完数据后,需要编写MapReduce程序对数据进行处理。MapReduce是Hadoop的计算模型,它将输入数据划分成若干分片,每个分片由一个Map任务处理,并将结果输出到一个临时文件,在Reduce任务中对这个临时文件进行整合从而得到最终结果。 在编写程序时,需要定义Map和Reduce的业务逻辑。在Wordcount中,Map任务的业务逻辑是读取每个文档中的单词,并将每个单词作为Key值输出,Value值设置为1,表示出现的次数。Reduce任务的业务逻辑是将相同Key的Value值进行累加,从而得出每个单词出现的总次数。 最后,将编写好的MapReduce程序打包上传到Hadoop集群中,通过YARN ResourceManager调度Map和Reduce任务分配给不同的计算节点执行。任务执行完成后,结果将输出到指定的输出目录中。 总的来说,Hadoop集群运行Wordcount需要进行以下几步操作:准备数据、编写MapReduce程序、上传程序并提交任务、等待任务运行完成并输出结果。在程序运行过程中需要进行日志跟踪和任务管理,以确保任务的正常运行和结果正确输出。 ### 回答3: Hadoop集群运行wordcount是Hadoop的一个基本例子,用于理解Hadoop MapReduce框架的运行方式。下面是具体步骤: 1.安装Hadoop 首先需要在每一台机器上安装Hadoop集群,并配置好环境变量。在安装完成后,需要测试安装是否成功,可以执行hadoop version命令,能够看到输出Hadoop的版本信息,则说明Hadoop已安装成功。 2.编写MapReduce作业 在该集群上运行wordcount需要编写MapReduce作业,这个作业包含了map和reduce方法代码。在map方法中,通过空格将每个单词分离出来,并将其映射到一个键值对中;在reduce方法中,将所有相同键值对的值加起来,得到对应单词出现的频率。 3.上传文件到HDFS 需要将要处理的文件上传到HDFS中。可以使用以下命令将文件上传到HDFS中: ``` hadoop fs -mkdir /input hadoop fs -put input_file /input ``` 4.提交MapReduce作业 可以使用以下命令提交MapReduce作业: ``` hadoop jar wordcount.jar WordCount /input /output ``` 其中,wordcount.jar是MapReduce的Java代码打包好的JAR文件,后面跟着两个参数,第一个参数是输入文件所在的路径(HDFS中的路径),第二个参数是输出文件所在的路径。 5.查看结果 等待作业完成后,可以通过以下命令查看结果: ``` hadoop fs -cat /output/part-r-00000 ``` 其中,part-r-00000是reduce任务的输出文件名称。 通过以上步骤,就可以在Hadoop集群上运行wordcount作业并获取结果。需要注意的是,在实际生产环境中,需要对Hadoop集群进行更细致的配置和优化,以确保作业可以在最短时间内完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值