zoukankan      html  css  js  c++  java
  • hadoop伪分布搭建

        本文发表于本人博客

        先来看看hadoop的大体架构是如何,主要分为HDFS以及MapRedure。

      • HDFS的架构

        • 主从结构

          • 主节点,只有一个:namenode

          • 从节点,有很多个:datanodes   

          • namenode负责:
                    接收用户的请求
                    维护文件系统的目录结构
                    管理文件与block之间的关系,block于datanode之间的关系  

          • datanodes负责:
                    存储文件
                    文件分成多个block存储在磁盘上
                    保证数据安全,建立多个副本 

      • MapReduce的架构

        • 主从结构

          • 主节点,只有一个:JobTracker

          • 从节点,有很多个:TaskTrackers

          • JobTracker负责:
                    接收客户提交的计算任务
                    把计算任务分给TaskTrackers执行
                    监控TaskTrackers的执行情况

          • TaskTrackers负责:
                    执行JobTracker分配的任务

    Hadoop特点扩容能力:处理数据级别容易变更;成本低:开源,普通服务器;高效率:分发任并行务;可靠性,多搞副本。Hadoop这些特点总结来源于分布式这个条件。
    目前来看Hadoop部署方式大概有:本地模式、集群模式、伪分布模式。下面我就用我自己的本本搭建一个伪分布。当前系统系统:CentOS-6.5-64bit,使用软件:jdk-6u24,hadoop-1.1.2hadoop-1.1.2.tar.gz

    • 设置静态IP地址;
          使用ifconfig查看当前网络连接,在windows宿主机上查看本地连接,经过查看时192.168.1网段的,那我们就把虚拟机里面设置是 192.168.2网段,刚开始的时候虚拟机设置的是host-only模式。变价/etc/sysconfig/network-scripts /ifcfg-eth0文件,增加静态iP地址、网管、子网,并设置其静态,设置完成之后保存并退出service network restart重启网络服务,这是可以检查宿主机跟虚拟机之间的网络通信是否正常。现在设置了静态ip那么我们也方便是用ssh工具直接登录。

          vi /etc/sysconfig/network-scripts/ifcfg-eth0
          service network restart

       

    IP03.jpg

    • 关闭防火墙
          

          service iptables stop
          service iptables status
      

        

    • 关闭自动运行

          

      su root
      chkconfig --list  | grep iptables
      chkconfig iptables off
    • 设置主机名

          hostname                        //查看当前主机名称
          hostname hadoop_master          //设置当前会话主机名称 
          vi /etc/sysconfig/network       //修改配置文件     HOSTNAME=hadoop_master
          reboot                          //重启   

                     

    • ssh免密码登录

        ssh-keygen -t rsa                   //在root用户使用ssh工具生成秘钥(也可以使用普通用户)
        cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys       //复制一份秘钥
        ssh hadoop_master

            

    • IP地址绑定主机名

        vi /etc/hosts //
        增加:127.0.0.1  hadoop_master   
        service network restart
    

      

    • 安装JDK

        通过WinScp软件用root用户上传jdk-6u24-linux-i586.bin文件/usr/local/soft。上传之后先对这个目录 soft更改其权限为777,然后在SecureCRT中就可以用普通用户进行解压此文件./jdk-6u24-linux-i586.bin,再mv重 命名文件夹并移至/usr/local下.设置jdk的环境变量,vi /etc/profile增加环境变量,文件保存后在执行source /etc/profile

        export JAVA_HOME=/usr/local/jdk
        export PATH=.:$PATH:$JAVA_HOME/bin
    

      

        检查是否成功:

        IP04.jpg

    1.8安装hadoop

        cd /usr/local/soft
        tar -xzvf hadoop-1.1.2.tar.gz
        mv hadoop-1.1.2 ../hadoop
        vi /etc/profile
    

      

        增加export HADOOP_HOME=/usr/local/hadoop

        修改export PATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin    

        source /etc/profile    
        cd hadoop/conf
        vi hadoop-env.sh

        修改export JAVA_HOME=/usr/local/jdk/

        vi core-site.xml
    
    
    <configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://hadoop_master:9000</value>
            <description>这里要注意是自己的主机名称</description>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/hadoop/tmp</value>
        </property>
    </configuration>
    
    
        vi hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
    </configuration>
        vi mapred-site.xml
    <configuration>
        <property>
            <name>mapred.job.tracker</name>
            <value>hadoop_master:9001</value>
            <description>这里要注意是自己的主机名称</description>
        </property>
    </configuration>

        格式化hdfs,并启动

        hadoop namenode -format
        cd ../bin/
        ./start-all.sh
        jps

        但是这样是启动不成功的,说什么端口问题(java.lang.IllegalArgumentException: Does not contain a valid host:port authority),经过查问说是hadoop下主机名不能有下划线,自己试试修改下看看结果

    IP010.jpg

    看到这输出6个就说明安装成功了!

  • 相关阅读:
    ZeptoLab Code Rush 2015
    UVa 10048 Audiophobia【Floyd】
    POJ 1847 Tram【Floyd】
    UVa 247 Calling Circles【传递闭包】
    UVa 1395 Slim Span【最小生成树】
    HDU 4006 The kth great number【优先队列】
    UVa 674 Coin Change【记忆化搜索】
    UVa 10285 Longest Run on a Snowboard【记忆化搜索】
    【NOIP2016提高A组模拟9.28】求导
    【NOIP2012模拟10.9】电费结算
  • 原文地址:https://www.cnblogs.com/luoliang/p/4143280.html
Copyright © 2011-2022 走看看