• 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个就说明安装成功了!

  • 相关阅读:
    增加新分类daily——“每天学了啥?”
    gcc选项中的编译过程
    一个带路径复制的perl脚本
    git
    mysql explain 详解
    CentOS Python2.4升级到Python2.7
    mongoDb查询
    linux php 扩展
    php-redis 扩展安装
    redis Linux的安装方法
  • 原文地址:https://www.cnblogs.com/luoliang/p/4143280.html
Copyright © 2020-2023  润新知