Hadoop_1 入门WordCount

本文详细记录了搭建Hadoop伪分布式环境的过程,包括安装Zookeeper、OpenSSH、配置Java和Hadoop环境变量。通过运行Hadoop自带的WordCount程序验证环境的正确性,并介绍了如何在本地编写和运行WordCount代码,强调了端口配置和Eclipse打包为可执行jar的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录踩得坑以及部署环境流程。

搭建的是伪分布Hadoop

  1. 首先环境需要安装zookeeper。这个好装,不多说
  2. 其次比较复杂的是安装openssh。我的Linux系统是centos 7 mini版本。安装openssh之前的准备工作有很多。
    需要安装的tar包有:
    • libpcap-1.8.1.tar.gz
    • zlib-1.2.8.tar.gz
    • perl-5.22.4.tar.gz
    • openssl-1.0.2j.tar.gz
    • openssh-7.2p2.tar.gz
      顺序是先perl,再zlib。之后就随意了。因为zlib中会依赖perl5
      安装openssh主要目的是设置免密登录。方便hadoop搭建
  3. 安装hadoop。
    需要配置Java环境变量,以及Hadoop的环境变量。Java_HOME有时候加载不到的问题可以百度,把hadoop-evn.cmd配置文件大约第25行改掉就可以了。
    主要注意的是core-site.xml,hdfs-site.xml,yarn-site.xml这三个配置文件的配置
    core-site.xml
<configuration>
	 <property>
	    <name>fs.defaultFS</name>
	    <value>hdfs://xxxx:9000/</value>
	  </property>
	  <property>
	    <name>hadoop.tmp.dir</name>
    <value>/home/u/hadoop-2.7.6/tmp</value>
	  </property>
</configuration>

hdfs-site.xml

<configuration>
  <property>
   <name>dfs.namenode.http-address</name>
   <value>xxxxx:50070</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>xxxxxxx:50090</value>
  </property>
  <!-- 指定HDFS副本数量 -->
  <property>
   <name>dfs.replication</name>
   <value>3</value>
  </property>
  <!--指定NameNode的存储路径-->
  <property>
   <name>dfs.namenode.name.dir</name>
   <value>/home/u/hadoop-2.7.6/namenode</value>
  </property>
  <!--指定DataNode的存储路径-->
  <property>
   <name>dfs.datanode.data.dir</name>
   <value>/home/u/hadoop-2.7.6/datanode</value>
  </property>
</configuration>

yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
   <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>xxx.xxx.x.xxx</value>
   </property>
   <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
   </property>
<property>
     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
     <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

然后到hadoop-2.7.6/sbin/目录下面执行start-all.sh就可以一次性启动所有角色了。2.x启动成功后是这样的:
jps

运行第一个WordCount程序

我看的书是Hadoop实战。里面的程序有点老,导致自己写的WordCount有很多方法ClassNotFound。但是hadoop是自带第一个wordcount程序的。可以看到它的源码。现在先使用它自带的wordcount来测试下这个环境是否可行

  1. 生成输入文件
    echo "I love Java I love Hadoop I love BigData Good Good Study, Day Day Up" > wc.txt
  2. 在Hdfs上创建文件夹,把wc.txt上传到Hdfs
    hdfs dfs -mkdir -p /input/wordcount hdfs dfs -put wc.txt /input/wordcount
  3. 然后就可以执行了。输出文件目录是不存在的
    hadoop jar /home/u/hadoop-2.7.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /input/wordcount /output/wordcount

结果:
这里写图片描述

本地WordCount代码

package cn.edu.ruc.cloudcomputing.book.chapter03;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值