`
liujun58love
  • 浏览: 15371 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hadoop集群配置

    博客分类:
  • java
阅读更多
最近一整子, Apache软件基金组织下的hadoop在行业越来越流行,这个东西可以分布式处

理大批量的数据,最近有点时间,想要学习学习这个东西,就自己在电脑上装了一台虚拟机,

安装了linux操作系统,结合网上前辈们的资料,自己实践了一下,由于是第一次学习,所以

看似简单的问题,确花费了一些时间,走了不少弯路,不过欣慰的是,终于将一个简单的

hadoop配置完成。趁热打铁,为了不至于以后忘记,特此将这些配置先记录下来,以便下次

查看。

操作环境:由于本人没有太多的机子供其测试使用,顾在自己的电脑上安装了虚拟机,同时在

虚拟机中安装了linux操作系统,克隆了三台。

操作系统版本:redhat5.4

操作步骤:

说明:我复制了三台机子,安排如下
  机器名                    ip                        作用
liujun-c-1           192.168.12.247   NameNode、master、jobTracker   liujun-c-2          192.168.12.238  datenode、slave、taskTracker
liujun-c-3          192.168.12.223  datenode、slave、taskTracker

注:机器名称最好不好使用"_",可以使用"-",我开始也是使用"_"来命名名称节点的,但是

后面发现有问题,老是通不过,后来在网上看到有朋友这麽说,我就按照他说的方式改整了一

下,后续就没有问题了;具体原因,由于是初步接触hadoop,所以无法解释清楚。

修改机器名称方法: vi /etc/sysconfig/network 

里边有一个 HOSTNAME = "你要起的机器名称",修改保存完成后,最好重启一下网络配置
service network restart

1.安装jdk

  下载jdk安装包而且版本必须是jdk1.6以上版本,我这里选用的是
   jdk-6u19-linux-i586-rpm.bin(jdk1.6.0_19)
   通过ftp传到指定文件夹,操作如下
  
   (1).先给上传的文件授权可操作,否则无法操作当前文件

      chmod u+x jdk-6u19-linux-i586-rpm.bin

   (2).通过 ./jdk-6u19-linux-i586-rpm.bin 执行文件

   (3).通过  rpm -ivh jdk-6u19-linux-i586-rpm 执行这个文件

   (4).一路回车,基本jdk就完成了安装

   (5).配置jdk环境,vi /etc/profile,在文件最后边加上

      JAVA_HOME=/usr/java/jdk1.6.0_19
     CLASSPATH=.:$JAVA_HOME/lib.tools.jar
     PATH=$JAVA_HOME/bin:$PATH
     export JAVA_HOME CLASSPATH PATH

    保存完成后,使用logout登出,重新输入用户名和密码,进入系统后

     使用指令 java -version 查看你的jdk版本是否和你安装的一致,如果显示

     java version "1.6.0_19"

    Java(TM) SE Runtime Environment (build 1.6.0_19-b04)

    Java HotSpot(TM) Server VM (build 16.2-b04, mixed mode)

     则说明安装成功。

     说明:jdk需要在你集群的每台机子上面安装

2.开启ssh服务
 
    (1)在NameNode 上实现无密码登录本机:
      ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa   
    
     直接回车,完成后会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。这两个是成
   
     对出现,类似钥匙和锁。再把id_dsa.pub 追加到授权key 里面(当前并没有
     authorized_keys
    文件):
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys。完成后可以实现无密码
   
    使用本机测试一下
    ssh localhost
 
  (2)实现NameNode 无密码登录其他DataNode
    
     拷贝NameNode 的id_dsa.pub 文件:
    
      scp id_dsa.pub root@192.168.12.238:/tmp
    
     登录192.168.12.238,在/tmp目录下面能够看到从namenode(192.168.12.247)
    
     复制的id_dsa.pub文件,然后执行
 
      cat id_dsa.pub >> .ssh/authorized_keys
  
     其他的dataNode 执行同样的操作。

    注意:如果配置完毕,如果namenode 依然不能访问datanode,可以修改datanode

     authorized_keys,将其权限修改 为 $ chmod 600 authorized_keys。
   

   (3).配置完测试

      通过namenode(192.168.12.247)  ssh连接两个
     
      datanode(192.168.12.238,192.168.12.223)

     使用指令如下:ssh root@192.168.12.238(223),如果能够无需密码登录则说明配

     置成功完成,否则请检查以上的配置那里出了问题。

   (4)在/etc/hosts 中添加机器名和相应的IP
      vi /etc/hosts

      添加内容如下:
     
       127.0.0.1 localhost

      192.168.12.247  liujun-c-1
      192.168.12.238  liujun-c-2
      192.168.12.223  liujun-c-3
 
     注:ip后面跟的liujun-c-* 为机器名称,前面提到的  在/etc/sysconfig/network
        中修改的HOSTNAME
  

4.安装hadoop

   (1).从hadoop官网下载(http://hadoop.apache.org)hadoop安装包,这里我使用的是hadoop-0.20.2.tar.gz

   (2).上传至服务器,进行解压安装
       
         tar -zxvf hadoop-0.20.2.tar.gz

    (3).解压完成后配置hadoop环境
         把Hadoop 的安装路径添加到环/etc/profile 中:
        export HADOOP_HOME=/software/hadoop-0.20.2
        
        export PATH=$HADOOP_HOME/bin:$PATH

        说明:/software/是我放置hadoop解压文件的目录   

    (4).配置hadoop环境变量
       
       hadoop 的主要配置都在hadoop-0.20.2/conf 下。
        在conf/hadoop-env.sh 中配置Java 环境
         vi hadoop-env.sh
       文件末尾添加
       export JAVA_HOME=/usr/java/jdk1.6.0_19
       完成保存

        配置conf/masters 和conf/slaves 文件
          vi masters 里边写入
           192.168.12.247
         vi slaves 里边写入
          192.168.0.3
          192.168.0.5
   (5)修改hadoop配置文件

       配置conf/core-site.xml, conf/hdfs-site.xml 及conf/mapred-site.xml        

      vi core_site.xml 向里边写入

<configuration>
   <property>
      <name>hadoop.tmp.dir</name>
       <value>/home/liujun/tmp</value>
   </property>

<property>
   <name>fs.default.name</name>
   <value>hdfs://192.168.12.247:9000</value>
</property>
</configuration>

保存 :wq完成

   vi hdfs-site.xml 里边写入

   说明:( replication 默认为3,如果不修改,datanode 少于三台就会报错)
<configuration>
<property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
</configuration>

保存:wq 完成

  vi mapred-site.xml 里边写入

<configuration>
  <property>
     <name>mapred.job.tracker</name>
     <value>192.168.12.247:9001</value>
</property>
</configuration>

保存 :wq完成

注:上面关于hadoop配置文件和jdk配置都需要在三台机子上进行相同的配置,缺一不可   

(6).使用hadoop
 
   重要说明:在运行hadoop之前,一定要关闭服务器上面的防火墙,否则测试肯定会失败

     service iptables stop

     (1).首先登陆到namenode服务器(我这里是:192.168.12.247)
   
     使用hadoop格式化文件系统

      hadoop namenode -format

     (2).启动hadoop系统服务

       进入hadoop加压目录中的conf
       
        cd /software/hadoop-0.20.2/bin

        ./start-all.sh (启动hadoop整个系统服务,关闭是:./stop-all.sh)
                               
     (3).查看服务启动状态
  
        使用jps在namenode(192.168.12.247)上应该能够看到这样的内容
        root@liujun-1-c# jps
       5946 secondaryNameNode
       6120 Jps
       6026 JobTracker
       5838 NameNode

       登陆datanode节点(192.168.12.238和192.168.12.223)

       root@liujun-2-c# jps
       4387 DataNode
       4464 TaskTrack
       6773 JPS

       查看集群状态:$ hadoop dfsadmin -report   
       
        Hadoop 的web 方式查看:http://192.168.12.247:50070

    (6).运行实例

       运行wordcount.java 程序
         (1)先在tmp目录下建立两个输入文件file01 和file02
           cd /tmp
           $ echo “Hello World Bye World” > file01
           $ echo “Hello Hadoop Goodbye Hadoop” > file02
       
       (2)在hdfs 中建立一个input 目录:$ hadoop fs –mkdir input

       (3)将file01 和file02 拷贝到hdfs 中:
             cd /tmp
           hadoop fs -put file01 input
           hadoop fs -put file02 input
          
        (4)执行wordcount:

            进入hadoop安装目录

           cd /software/hadoop-0.20.2
         
          执行

       $ hadoop jar hadoop-0.20.1-examples.jar wordcount input output

       (5)完成之后,查看结果:

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

          输出结果
          
           Goodbye 1
         Hadoop 2
         Hello 2
         World 2
             
分享到:
评论

相关推荐

    Hadoop集群配置文件备份

    本文将深入探讨“Hadoop集群配置文件备份”的重要性、步骤和最佳实践。 **1. Hadoop配置文件概述** Hadoop的配置文件主要包括`core-site.xml`、`hdfs-site.xml`、`yarn-site.xml`、`mapred-site.xml`等,这些XML...

    Hadoop集群配置及MapReduce开发手册

    《Hadoop集群配置及MapReduce开发手册》是针对大数据处理领域的重要参考资料,主要涵盖了Hadoop分布式计算框架的安装、配置以及MapReduce编程模型的详细解析。Hadoop作为Apache基金会的一个开源项目,因其分布式存储...

    hadoop集群配置范例及问题总结.pdf

    hadoop集群配置范例及问题总结 Hadoop集群配置是大数据处理的关键步骤,本文将详细介绍Hadoop集群配置的步骤和注意事项。 一、硬件环境配置 Hadoop集群需要多台机器组成,通常使用虚拟机来模拟多台机器。 VMware ...

    hadoop集群配置文档

    hadoop集群配置文档

    hadoop集群配置范例及问题总结.docx

    Hadoop集群配置范例及问题总结 Hadoop集群配置是一个复杂的过程,需要详细的规划和实施。以下是Hadoop集群配置的相关知识点: 1. 硬件环境:Hadoop集群需要至少两台机器,安装ubuntu11操作系统,并采用桥接模式,...

    hadoop集群配置详解

    Hadoop 集群配置是一个复杂的过程,涉及到多台服务器之间的通信和数据存储。在这个详解中,我们将深入理解如何在Fedora和Ubuntu系统上搭建一个Hadoop集群。 首先,为了确保集群中的节点能够相互识别,我们需要配置...

    hadoop集群配置之———hive安装与配置(超详细)

    在Hadoop集群配置过程中,安装和配置Hive是一个重要环节。这个过程中需要保证Hadoop集群本身已经搭建好并且运行正常。在安装Hive之前,一般需要先安装和配置好MySQL数据库,因为Hive会使用MySQL来存储其元数据。元...

    Hadoop集群配置详细教程

    hadoop配置详细教程,涵盖了Hadoop集群配置从头到尾的所有细节部署,其中注意点已用红色标记,此文档曾用于企业Hadoop集群搭建教程,涵盖了 准备篇---配置篇----启动测试篇---问题篇,解决网络上Hadoop集群配置教程...

    hadoop集群配置及mapreduce开发手册

    ### Hadoop集群配置及MapReduce开发手册知识点梳理 #### 一、Hadoop集群配置说明 ##### 1.1 环境说明 本手册适用于基于CentOS 5系统的Hadoop集群配置,具体环境配置如下: - **操作系统**:CentOS 5 - **JDK版本...

    Hadoop集群pdf文档

    Hadoop 集群配置详解 Hadoop_Hadoop集群(第1期)_CentOS安装配置 Hadoop_Hadoop集群(第2期)_机器信息分布表 Hadoop_Hadoop集群(第4期)_SecureCRT使用 Hadoop_Hadoop集群(第5期)_Hadoop安装配置 Hadoop_Hadoop...

    搭建hadoop集群的全部配置文件

    本压缩包包含的文件是全面的Hadoop集群配置集合,旨在帮助用户顺利构建和管理自己的Hadoop环境。以下将详细解释其中涉及的关键知识点。 1. **Hadoop架构**:Hadoop是由Apache软件基金会开发的一个开源分布式计算...

    基于CentOS 7的Hadoop集群配置的研究与实现.docx

    【基于CentOS 7的Hadoop集群配置的研究与实现】 Hadoop是一个开源的分布式计算框架,主要用于处理和存储大规模数据。本论文详细探讨了在CentOS 7操作系统上配置和实施Hadoop集群的过程,这对于理解和掌握大数据处理...

    Eclipse链接Hadoop集群配置.docx

    ### Eclipse链接Hadoop集群配置详解 #### 一、前言 在大数据处理领域,Hadoop因其卓越的分布式处理能力而备受青睐。为了更好地利用Hadoop的强大功能,开发人员经常需要在本地开发环境中与Hadoop集群进行交互。本文...

Global site tag (gtag.js) - Google Analytics