`
leissen
  • 浏览: 7799 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

hadoop 0.20.2集群配置入门

阅读更多

一、准备工作

在动手准备实践hadoop之前,最好把Google File System和Map/Reduce的原理搞清楚,否则可能要走很多弯路。

准备机器:一台master,若干台slave,配置每台机器的/etc/hosts保证各台机器之间通过机器名可以互访,例如:

 

10.0.0.10 master

10.0.0.11 slave1

10.0.0.12 slave2

 

保存后,重启网络服务,命令:service network restart

 

Linux所需软件包括:

  1. JavaTM1.5.x以上,必须安装,建议选择Sun公司发行的Java版本。
  2. ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。

ssh的安装以Ubuntu Linux为例:

$ sudo apt-get install ssh 
$ sudo apt-get install rsync

 

免密码ssh设置,保证至少从master可以不用口令登陆所有的slaves:

登陆master,执行命令

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

将生成的id_dsa.pub拷贝到所有slaves机器上相同路径下,例如:

$ scp ~/.ssh/id_dsa.pub root@slave1:/root/.ssh/master_dsa.pub

注意,此处重命名了一下。

登陆到slaves的机器上执行命令:

$ cat /root/.ssh/master_rsa.pub >>/root/.ssh/authorized_keys

现在再尝试通过ssh从master登录到slaves,应该不需要密码了

$ ssh slave1

如果还有问题,可以参考“理解 RSA/DSA 认证”:

http://www.ibm.com/developerworks/cn/linux/security/openssh/part1/index.html

 

 

 

二、hadoop配置

1.安装

下载hadoop发行版,地址:http://apache.freelamp.com/hadoop/core/stable/


安装Hadoop集群通常要将安装软件解压到集群内的所有机器上。并且安装路径要一致,如果我们用HADOOP_HOME指代安装的根路径,通常,集群里的所有机器的HADOOP_HOME路径相
同。

通常,集群里的一台机器被指定为NameNode,另一台不同的机器被指定为JobTracker。这些机器是masters。余下的机器即作为DataNode也作为TaskTracker。这些机器是slaves。

 

下载安装包后,直接解压安装即可:

$ tar -zxvf hadoop-0.20.2.tar.gz
$ cd hadoop-0.20.2

 

注:如果集群内机器的环境完全一样,可以在一台机器上配置好,然后把配置好的软件即hadoop-0.20.2整个文件夹拷贝到其他机器的相同位置即可。

2.配置

编辑conf/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径。

配置conf/core-site.xml: 

    <configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://master:9100</value>
        </property>
    </configuration>

fs.default.name是NameNode的URI。hdfs://主机名:端口/

 配置conf/hdfs-site.xml 

    <configuration>
        <property>
                <name>dfs.name.dir</name>
                <value>/opt/hadoop/hadoopfs/name1,/opt/hadoop/hadoopfs/name2</value>
                 <description>  </description>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>/opt/hadoop/hadoopfs/data1,/opt/hadoop/hadoopfs/data2</value>
                <description> </description>
        </property>

        <property>
                  <name>dfs.replication</name>
                  <value>1</value>
        </property>
    </configuration>
 

dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
dfs.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。 当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。

dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。

注意:此处的name1、name2、data1、data2目录不能预先创建,hadoop格式化时会自动创建,如果预先创建反而会有问题。

配置conf/mapred-site.xml 
     <configuration>
         <property>
                <name>mapred.job.tracker</name>
                <value>master:9200</value>
        </property>
    </configuration>

mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。

 

配置conf/masters和conf/slaves来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。

masters:

master

slaves:

slave1

slave2

 

配置结束,把配置好的hadoop-0.20.2文件夹拷贝到其他集群的机器中,并且保证上面的配置对于其他机器而言正确,例如:如果其他机器的Java安装路径不一样,要修改conf/hadoop-env.sh 

$ scp -r /opt/hadoop/hadoop-0.20.2 root@slave1:/opt/hadoop

三、hadoop启动

先格式化一个新的分布式文件系统

 

$ cd hadoop-0.20.2
$ bin/hadoop namenode -format

 

查看输出保证分布式文件系统格式化成功 

 

在主节点master上面启动hadoop,主节点会启动所有从节点的hadoop。

 

$ bin/start-all.sh

 

从主节点master关闭hadoop,主节点会关闭所有从节点的hadoop。

 

$ bin/stop-all.sh 

 

Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录 (默认是 ${HADOOP_HOME}/logs).

 

浏览NameNode和JobTracker的网络接口,它们的地址默认为:

NameNode - http://master:50070/
JobTracker - http://master:50030/


将输入文件拷贝到分布式文件系统:
$ bin/hadoop fs -put conf input

运行发行版提供的示例程序:
$ bin/hadoop jar hadoop-0.20.2-examples.jar grep input output 'dfs[a-z.]+'

查看输出文件:

将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hadoop fs -get output output
$ cat output/*

或者

在分布式文件系统上查看输出文件:
$ bin/hadoop fs -cat output/*
 


启动运行成功后,可以多熟悉熟悉hadoop dfs命令,例如:

hadoop dfs –ls   查看/usr/root目录下的内容,默认如果不填路径这就是当前用户路径;
hadoop dfs –rmr xxx    xxx就是删除目录;
hadoop dfsadmin -report  这个命令可以全局的查看DataNode的情况;
hadoop job  -list    后面增加参数是对于当前运行的Job的操作,例如list,kill等;
hadoop balancer          均衡磁盘负载的命令。

 

ps:用JavaEye编辑器调整格式差点把我搞死。。。

 

分享到:
评论

相关推荐

    hadoop0.20.2配置手册

    hadoop0.20.2版本在虚拟机中的安装指南,经过测试可以实现

    hbase-0.90.5.tar.gz与hadoop0.20.2版本匹配

    这个版本的HBase是针对Hadoop 0.20.2版本优化的,这意味着它可以在运行Hadoop 0.20.2集群的环境中稳定运行。用户在自己的本地虚拟机上成功安装并使用了这个版本,证明了它们之间的兼容性和稳定性。 HBase的主要特性...

    hadoop 0.20.2

    Hadoop 0.20.2还引入了安全性的改进,如Secure Hadoop功能,支持Kerberos认证,为Hadoop集群提供身份验证和授权,保护数据安全。这使得0.20.2版本适用于需要严格数据安全的企业环境。 在Hadoop 0.20.2中,文件系统...

    Ubuntu Hadoop 0.20.2 安装配置说明

    本文档详细介绍了如何在 Ubuntu Server 12.04 x64 上安装配置 Hadoop 0.20.2,并构建一个基本的 Hadoop 集群。通过本文的学习,初学者不仅可以掌握 Hadoop 的安装配置流程,还能够了解如何执行简单的 HDFS 操作以及...

    Hadoop 0.20.2 API文档

    Hadoop 0.20.2 API文档是开发者在使用开源分布式架构Hadoop时的重要参考资料。这个版本的API文档详细地介绍了如何利用Java语言来与Hadoop生态系统进行交互,为开发人员提供了丰富的功能和工具,以实现大规模数据处理...

    redHat linux下安装hadoop 0.20.2

    redHat linux下安装hadoop 0.20.2

    Ubuntu10.04下Hadoop-0.20.2集群配置手册.doc

    【Ubuntu10.04下Hadoop-0.20.2集群配置手册】 这篇文档主要介绍了如何在Ubuntu 10.04操作系统环境下配置Hadoop-0.20.2集群,包括集群的硬件环境准备、软件环境的搭建、SSH无密码验证以及Hadoop的配置步骤。 首先,...

    CentOS下Hadoop-0.20.2集群配置文档.docx

    在配置Hadoop-0.20.2集群于CentOS系统时,首先需要了解集群的基本网络环境。在这个案例中,集群由三个节点组成:一个NameNode和两个DataNode。它们通过局域网相互连接,可以相互ping通。每个节点都运行着CentOS操作...

    Hadoop 0.20.2 API

    了解和熟练掌握Hadoop 0.20.2 API,对于开发分布式应用程序、处理大规模数据、优化Hadoop集群的性能都是至关重要的。通过API文档,开发者可以深入理解每个类和方法的作用,从而编写出高效且适应性强的Hadoop程序。...

    hadoop 0.20.2版本

    这种分而治之的策略使得 Hadoop 能够在大量廉价硬件组成的集群上高效执行大数据处理任务。 Hadoop 0.20.2 版本的发布,带来了若干优化和改进。例如,它可能包含性能提升,如更高效的文件读写操作、优化的 MapReduce...

    hadoop0.20.2使用sqoop必需包

    hadoop使用sqoop-1.2.0-CDH3B4.tar.gz需要将此包的hadoop-core-0.20.2-CDH3B4拷贝到sqoop/lib目录下

    hadoop0.20.2

    在学习Hadoop 0.20.2 时,可以通过搭建本地或伪分布式环境来实践配置和使用HDFS及MapReduce。同时,理解Hadoop生态中的其他工具,如Pig、Hive和HBase,可以帮助更全面地掌握大数据处理的流程。 压缩包中的`hadoop-...

    Hadoop 0.20.2 版本安装包

    伪分布式安装包,Hadoop 1.0指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中,MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境和数据...

    Hadoop 0.20.2在linux下配置

    ### Hadoop 0.20.2在Linux下的配置与安装详解 #### 一、环境准备与基础设置 在开始Hadoop 0.20.2的安装与配置之前,确保Linux系统上已完成以下准备工作: 1. **用户权限**:为用户`sharera`设置好账户,并确认其...

    在Ubunt-11.04上布署hadoop-0.20.2集群云平台

    ### 在Ubuntu 11.04上部署Hadoop-0.20.2集群云平台的知识点 #### 一、前言与环境准备 - **背景介绍**:本实验指导旨在帮助用户在Ubuntu 11.04操作系统上成功部署Hadoop-0.20.2集群云平台。该文档由厦门大学软件...

    fedora 安装hadoop0.20.2

    完成上述所有步骤后,Hadoop 0.20.2 在 Fedora 上的伪分布式环境就已经配置完毕。用户可以通过启动 HDFS 和 MapReduce 服务来进行分布式数据处理任务。 #### 六、注意事项与后续操作 - 在安装过程中,请确保所有的...

Global site tag (gtag.js) - Google Analytics