`
caoruntao
  • 浏览: 480906 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

安装hadoop集群和运行wordcount

阅读更多

说明:

hadoop版本:0.21.0

一个namenode和两个datanode

 

参考:

http://www.360doc.com/content/10/0727/10/2159920_41738746.shtml

http://yymmiinngg.iteye.com/blog/706699

http://wenku.baidu.com/view/b3a1f5d2240c844769eaeec3.html

 

一、修改namenode和两个datanode的主机名

1、修改/etc/hosts

127.0.0.1  localhost.localdomain localhost
192.168.118.129 hadoop-namenode.localdomain hadoop-namenode
192.168.118.139 hadoop-datanode1.localdomain hadoop-datanode1
192.168.118.149 hadoop-datanode2.localdomain hadoop-datanode2

2、修改/etc/sysconfig/network

HOSTNAME=hadoop-namenode

 

二、在namenode和两个datanode上添加hadoop用户

#useradd hadoop

#passwd hadoop

 

三、配置ssh无密码登录

1、配置hadoop-namenode能用用户hadoop无密码登录两个datanode

在hadoop-namenode上

#su  hadoop

$ssh-keygen  -t  rsa

$cp  /home/hadoop/.ssh/id_rsa.pub  authorized_keys 

 

把hadoop-namenode上产生的id_rsa.pub拷贝到两个datanode上:

$scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.118.139:/home/hadoop/authorized_keys

 

进入两个datanode

$ssh hadoop@192.168.118.139

$enter password:

 

如果/home/hadoop/.ssh目录下没有authorized_keys,把authorized_keys拷贝到/home/hadoop/.ssh目录下:

cp  /home/hadoop/authorized_keys  /home/hadoop/.ssh

如果/home/hadoop/.ssh目录下有authorized_keys,把authorized_keys追加到已有的authozied_keys

cat  /home/hadoop/authorized_keys  >>  /home/hadoop/.ssh/authorized_keys

 

配置两个datanode上的sshd_config文件,打开/etc/ssh/sshd_config,配置如下:

RSAAuthentication yes
PubkeyAuthentication yes

UsePAM no

 

重启两个datanode上的sshd服务:

service sshd restart

 

在hadoop-namenode上测试,能否无密码登录两个datanode:

ssh hadoop@192.168.118.139

 

2、配置连个datanode能用用户hadoop无密码登录hadoop-namenode

在两个datanode上

#su hadoop

$ssh-keygen -t rsa

 

把两个datanode上产生的id_rsa.pub拷贝到两个datanode上:

$scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.118.129:/home/hadoop/.ssh/192.168.118.139.authorized_keys

 

$scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.118.129:/home/hadoop/.ssh/192.168.118.149.authorized_keys

 

在hadoop-namenode上,把两个datanode上传上来的authorized_keys追加到已有的authozied_keys

cat  /home/hadoop/.ssh/192.168.118.139.authorized_keys  >>  /home/hadoop/.ssh/authorized_keys

cat  /home/hadoop/.ssh/192.168.118.149.authorized_keys  >>  /home/hadoop/.ssh/authorized_keys

 

配置hadoop-namenode上的sshd_config文件,打开/etc/ssh/sshd_config,配置如下:

RSAAuthentication yes
PubkeyAuthentication yes

UsePAM no

 

重启hadoop-namenode上的sshd服务:

service sshd restart

 

在两个datanode上测试,能否无密码登录hadoop-namenode:

ssh hadoop@192.168.118.129

 

四、配置hadoop

1、在namenode和两个datanode上的/usr/local/下建立目录hadoop,把下载的hadoop-0.21.0.tar.gz解压到该目

     录。

 

2、配置core-site.xml:

<configuration>
 <property>
  <name>fs.default.name</name>
  <value>hdfs://192.168.118.129:9001</value>
 </property>
 <property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoop/tmp</value>
 </property>

</configuration>

 

3、配置hdfs-site.xml:

<configuration>
 <property>
  <name>dfs.namenode.name.dir</name>
      <value>file:///usr/local/hadoop/hdfs/name</value>
   </property>
   <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:///usr/local/hadoop/hdfs/data</value>
   </property>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>

</configuration>

 

4、配置mapred-site.xml:

<configuration>
 <property>
  <name>mapreduce.jobtracker.address</name>
  <value>192.168.118.129:8021</value>
 </property>
 <property>
  <name>mapreduce.jobtracker.system.dir</name>
  <value>/usr/local/hadoop/mapred/system</value>
 </property>
 <property>
  <name>mapreduce.cluster.local.dir</name>
  <value>/usr/local/hadoop/mapred/local</value>
 </property>

</configuration>

 

5、配置masters:

192.168.118.129

 

6、配置slaves:

192.168.118.139
192.168.118.149

 

7、把配置好的的文件scp到两个datanode上。

$ scp core-site.xml hdfs-site.xml mapred-site.xml masters slaves hadoop@192.168.118.139:/usr/local/hadoop

 

$ scp core-site.xml hdfs-site.xml mapred-site.xml masters slaves hadoop@192.168.118.149:/usr/local/hadoop

 

8、设置namenode和两个datanode上的/usr/local/hadoop的权限

# chown -R hadoop:hadoop  /usr/local/hadoop

 

9、启动hadoop

在namenode上用用户hadoop登录

# su hadoop

 

格式化

$hdfs namenode -format

 

启动

$ start-all.sh

 

五、运行示例程序wordcount

在namenode上

$ cd /home/hadoop

$ mkdir workspace

$ cd workspace

$ mkdir wordcount

$ cd wordcount

$ mkdir input

$ echo "Hello world Bye world">input/f1

$ echo "hello hadoop bye hadoop">input/f2

 

在hdfs上建立一个input目录

$ hadoop fs -mkdir  /tmp/input

 

把f1和f2拷贝到hdfs上的input目录下

$ hadoop fs -put home/hadoop/workspace/wordcount/input/f1 /tmp/input

$ hadoop fs -put home/hadoop/workspace/wordcount/input/f2 /tmp/input

 

查看hdfs上有没有f1和f2

$ hadoop fs -ls /tmp/input

 

执行wordcount(确保hdfs上没有output目录)

cd 到目录 /usr/local/hadoop/hadoop-0.21.0

$ hadoop jar hadoop-mapred-examples-0.21.0.jar  wordcount  /tmp/input  /output

 

查看运行结果

$ hadoop fs -cat /output/part-r-00000

Bye         1

Hello       1

bye         1

hadoop   2

hello       1

world      2

分享到:
评论

相关推荐

    Hadoop集群-WordCount运行详解

    在linux环境下部署的Hadoop集群-WordCount运行详解。

    Hadoop集群-WordCount运行详解.pdf

    本篇文档深入浅出地介绍了Hadoop集群的WordCount运行详解,从MapReduce理论到WordCount程序的运行,再到源码分析,内容丰富且详细,对于想要入门和深入了解Hadoop分布式计算和MapReduce模型的读者来说,是一份宝贵的...

    实验2-在Hadoop平台上部署WordCount程序-孙淼1

    4. **Hadoop联合部署**:理解Hadoop分布式文件系统(HDFS)和MapReduce模型的工作原理,安装和配置Hadoop集群,确保NameNode和DataNode之间的通信正常。 5. **SSH工具**:Secure Shell (SSH)用于在不同主机之间安全...

    eclipse hadoop插件安装 运行WordCount

    在Eclipse中,你可以创建一个新的MapReduce项目,导入WordCount的源代码,然后使用Hadoop插件将其提交到本地或远程的Hadoop集群进行运行。文档中提供的详细截图应有助于理解每个步骤,包括项目结构、代码编写、配置...

    Hadoop mapreduce实现wordcount

    在实际环境中,我们需要配置 Hadoop 集群,设置输入文件路径,编译并打包 WordCount 程序,最后通过 Hadoop 的 `hadoop jar` 命令提交作业到集群运行。调试时,可以查看日志输出,检查错误信息,优化性能。 通过...

    Hadoop集群pdf文档

    Hadoop_Hadoop集群(第6期)_WordCount运行详解 Hadoop_Hadoop集群(第7期)_Eclipse开发环境设置 Hadoop_Hadoop集群(第8期)_HDFS初探之旅 Hadoop_Hadoop集群(第9期)_MapReduce初级案例 Hadoop_Hadoop集群(第10...

    hadoop运行wordcount实例

    ### Hadoop运行WordCount实例详解 #### 一、Hadoop简介与WordCount程序的重要性 Hadoop 是一个由Apache基金会所开发的分布式系统基础架构。它能够处理非常庞大的数据集,并且能够在集群上运行,通过将大数据分割...

    hadoop集群通用wordcount测试程序

    总结,"hadoop集群通用wordcount测试程序"是理解和评估Hadoop性能的重要工具,无论你是初学者还是资深研究者,都能从中受益。通过深入理解并实践这个程序,可以更好地掌握Hadoop的核心机制,并为更复杂的分布式计算...

    hadoop 运行成功代码(wordcount)

    在实际应用中,Hadoop WordCount的示例不仅可以帮助理解MapReduce的工作原理,还常用于性能基准测试和调试Hadoop集群。掌握这一基础,可以进一步学习更复杂的Hadoop应用,如数据分析、图计算等。 总之,通过这个...

    Hadoop集群中WordCount示例

    通过上述介绍,我们可以了解到在Hadoop集群中运行WordCount程序的基本流程。尽管WordCount示例非常简单,但它却是理解Hadoop工作原理的一个很好的起点。对于想要深入学习Hadoop的开发者来说,掌握WordCount程序是...

    使用hadoop实现WordCount实验报告.docx

    - **启动Hadoop集群**:在sbin目录下运行`start-all.sh`。 - **检查节点状态**:通过`jps`命令查看各节点运行情况。 - **验证Web界面**:访问http://localhost:50070(HDFS Web UI)和http://localhost:8088...

    ubuntu运行hadoop的wordcount

    - 在实际部署Hadoop集群时,还需考虑更多细节,例如分布式文件系统的配置、NameNode和DataNode的设置等。 通过以上步骤,我们可以在Ubuntu系统上成功部署并运行Hadoop WordCount实例,这对于理解Hadoop的基本工作...

    安装hadoop集群

    ### Hadoop集群安装与配置详解 #### 一、引言 随着互联网技术的快速发展和企业数据量的激增,高效处理大规模数据的需求日益迫切。Hadoop作为一种开源的大数据处理框架,因其优秀的分布式处理能力和可扩展性,成为...

    大数据实验报告Hadoop编程实现wordcount单词统计程序附源码.doc

    本实验报告旨在介绍使用 Hadoop 编程实现 wordcount 单词统计程序的步骤和代码实现。实验的目的在于熟悉 Hadoop 虚拟机的安装与环境的配置,初步理解 MapReduce 方法,熟悉相关语法,基本掌握编程框架。 实验环境:...

    Hadoop集群(1-11期)

    Hadoop集群·WordCount运行详解(第6期) Hadoop集群·Eclipse开发环境设置(第7期) Hadoop集群·HDFS初探之旅(第8期) Hadoop集群·MapReduce初级案例(第9期) Hadoop集群·MySQL关系数据库(第10期) Hadoop...

    Java实现Hadoop下词配对Wordcount计数代码实现

    Hadoop的`Job`类用于提交任务到集群执行。 以下是一个简化的Java代码示例: ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable;...

    实验2-在Hadoop平台上部署WordCount程序1

    【标题】:在Hadoop平台上部署WordCount程序的详解...通过这个实验,学生不仅能理解Hadoop的基本工作流程,还能掌握MapReduce编程模型,并熟悉Hadoop集群的管理操作。这为更复杂的分布式数据处理任务打下了坚实的基础。

    大数据技术基础实验报告-Hadoop集群的使用和管理.doc

    本实验报告将深入探讨Hadoop集群的启动、管理和使用,以及如何运行Hadoop自带的WordCount示例程序。 **一、Hadoop集群的启动与关闭** 1. **启动集群**:使用`start-all.sh`脚本启动整个Hadoop集群,包括NameNode、...

    cygwin+eclipse搭建hadoop开发环境,运行wordcount

    你将学习如何创建MapReduce程序,理解Mapper和Reducer的角色,以及如何在Hadoop集群上提交并执行任务。 在这个过程中,你可能会接触到Hadoop的分布式文件系统(HDFS)和MapReduce编程模型。HDFS使得大规模数据存储...

Global site tag (gtag.js) - Google Analytics