搭建hadoop集群(先搭伪分,再搭全部)

                            搭建hadoop集群(先搭伪分,再搭全部)

hadoop伪分布搭建流程(都是在普通用户下)

----------------------------

   一)关闭防火墙:

 chkconfig iptables off
 service iptables stop
 chkconfig ip6tables off
 service  ip6tables stop
    查看防火墙是否关闭 :               
                    chkconfig iptables --list

二)我虚拟机没有ip所以我准备配置一个静态ip

    静态IP的设置
--------------------------
    1.VMware-->编辑-->虚拟网络编辑器-->还原默认配置-->重置网络设置
    2.VMware-->编辑-->虚拟网络编辑器-->选中VM8-->关掉DHCP
    3.查看网络相关配置:
        子网:192.168.44.0
        子网掩码:255.255.255.0
        网关:192.168.44.2
    4.开启虚拟机,修改相关网络文件
        修改eth0文件【/etc/sysconf/network-script/ifcfg-eth0】:
        $>gedit   /etc/sysconfig/network-scripts/ifcfg-eth0
            修改:
                    BOOTPROTO="static"         #原值为DHCP
           添加:
            IPADDR="192.168.44.120"   #静态IP
            NETMASK="255.255.255.0"    #子网掩码
            NETWORK="192.168.44.0"    #子网
            GATEWAY="192.168.44.2"    #网关
            DNS1="192.168.44.2"       #网关
    5.生效网络:
           $>service network restart
    6.修改主机名与IP的映射

       $>gedit   /etc/hosts

       $>reboot

    7.修改windows中的VMWare8的网络地址为静态IP(我是win10的系统,“设置”中“更改网络设置”中的“更改网络设置”。)


三)开始搭建

   1.通过上传软件将hadoop2.7.3、jdk1.8.0至/home/hyxy/soft(soft自己创建)
   2.在/home/hyxy/soft解压相关软件
       $>tar  -zxvf  jdk1.8.XXX.tar.gz
      $>tar  -zxvf  hadoop.2.7.3.tar.gz

   3.创建软连接
       $>ln  -s  jdk1.8.0_121   jdk
        $>ln  -s  hadoop-2.7.3   hadoop

   4.修改环境变量
       $>cd ~
       $>gedit   .bash_profile(我们的环境变量在这里配置)


       在文件最后追加以下指令:
         #jdk install
     export JAVA_HOME=/home/hyxy/soft/jdk
     export PATH=$JAVA_HOME/bin:$PATH(设置PATH环境变量的目的就是为操作系统指定寻找工具程序的目录。)
     #hadoop install
     export HADOOP_HOME=/home/hyxy/soft/hadoop

     export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH(先进入到/usr/local/hadoop目录中,再执行sbin,实际上等同于运行/usr/local/hadoop/sbin。可以将hadoop命令的相关目录加入到PATH环境变量中,这样就可以直接通过start-dfs.sh开启Hadoop,也可以直接通过hdfs访问HDFS的内容,方便平时的操作。)

sbin文件夹中的文件


     $>source .bash_profile
       注意:刷新完之后,当前回话可用;建议reboot(重启)
   5.配置SSH
       a.修改hostname
          $>su root
          $>gedit /etc/sysconfig/network
        【HOSTNAME=master】
       b.修改hosts文件
          $>gedit /etc/hosts
         【在文件后追加:ip 主机名:192.168.142.138 master】
       c.reboot;
       d.生成秘钥
          $>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
        【说明:-t设置生成秘钥的算法,采用的rsa;-P设置密码,默认为空;-f设置秘钥生成的文件位置,~/.ssh】  
       e.生成认证库
       $>cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
       f.修改认证库的权限为600
           $>chmod 600 ~/.ssh/authorized_keys
       g.ssh master   
       
       //无密登录成功!!!!
   6.配置hadoop
       a.找到hadoop的配置路径:cd  $HADOOP_HOME/etc/hadoop
       b.修改core-site.xml
            <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>

        </property>

       <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hyxy/tmp/hadoop</value>
        </property>

       c.修改hdfs-site.xml
        <property>
        <name>dfs.replication</name>
        <value>1</value>
        </property>
       d.修改hadoop-env.sh中的JAVA_HOME变量

            【export JAVA_HOME=/home/hyxy/soft/jdk】

       e.在/home/hyxy目录下新建一个tmp/hadoop

       e.格式化HDFS
            $>hdfs namenode -format
       f.开启hadoop守护进程

            $>start-dfs.sh    //开启HDFS

7.以上完成伪分布。

四)当我们在公司添加节点之后不可能全部都重启(在公司两个事不能做:1.格式化。2.所有重启),所以我们可以将单个节点进行启动。如下:
查找当前hadoop2.7.3的默认配置文件
-------------------------------------------
    1.core-default.xml:【hadoop-common-2.7.3.jar】
    2.hdfs-default.xml:【hadoop-hdfs-2.7.3.jar】
    3.mapred-default.xml:【hadoop-mapreduce-client-core-2.7.3.jar】
    4.yarn-default.xml:【hadoop-yarn-common-2.7.3.jar】

分别启动守护进程:(启动顺序不重要)
-----------------------------
    1.启动namenode进程:
      $>hadoop-daemons.sh --config ~/soft/hadoop/etc/hadoop_pseudo start namenode
    2.启动datanode进程:
      $>hadoop-daemons.sh --config ~/soft/hadoop/etc/hadoop_pseudo start datanode
    3.启动secondarynamenode进程:
      $>hadoop-daemons.sh --config ~/soft/hadoop/etc/hadoop_pseudo start secondarynamenode

分别停止守护进程
-----------------------------
    1.启动namenode进程:
      $>hadoop-daemons.sh --config ~/soft/hadoop/etc/hadoop_pseudo stop namenode
    2.启动datanode进程:
      $>hadoop-daemons.sh --config ~/soft/hadoop/etc/hadoop_pseudo stop datanode
    3.启动secondarynamenode进程:
      $>hadoop-daemons.sh --config ~/soft/hadoop/etc/hadoop_pseudo stop secondarynamenode

hadoop的瓶颈为物理存储!!!而绝非网络、内核CPU、内存
hadoop默认查找{HADOOP_HOME}/etc/hadoop

hadoop start-dfs.sh 的执行流程
-------------------------------------
    【start-dfs.sh】-->【hdfs-config.sh】(说明:加载各种配置信息)
                    -->【hadoop-daemons.sh】(说明:执行slaves和daemon)
            -->【hadoop-daemon.sh】(说明:根据command调用HDFS。执行相关操作)
            -->【hdfs】(说明:执行相关操作,加载CLASS文件)
            -->【调用Java底层源代码】(说明:执行相关Class文件的Main函数)

五)在伪分的基础上搭建集群

克隆虚拟机
-------------------------
    1.关闭虚拟机-->选项【虚拟机】-->【管理】-->【克隆】
    2.【下一步】-->【下一步】-->【选项:创建完整克隆】
    3.指向本地虚拟机目录{D:\VMware-system\Centos-6.8-64-02}
    4.制定虚拟机名称为:Centos-6.8-64-02
    5.修改克隆后的虚拟机静态IP
        a.查找eth1网络配置信息
        $>cat /etc/udev/rules.d/70-persistent-net.rules
              [
        # PCI device 0x8086:0x100f (e1000)
        SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:0a:96:08", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

        # PCI device 0x8086:0x100f (e1000)
        SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:a0:93:96", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"          
          ]
         获取eth1的MAC地址为:ATTR{address}=="00:0c:29:a0:93:96"
    b.修改静态IP文件
        $>gedit /etc/sysconfig/network-scripts/ifcfg-eth0
          修改:
              DEVICE="eth1"
          HWADDR="00:0c:29:a0:93:96"
          IPADDR="192.168.14.140"
    c.重启网络
        $>service network restart

完全分布式搭建步骤
-----------------------------------
    1.克隆两个节点
    2.修改静态IP
    3.修改主机名:【master(主),slave1(从),slave2(从)】
    4.修改IP和主机名的映射:【/etc/hosts】
    5.SSH无密登录:
    6.安装JDK(略)
    7.安装hadoop(略)
    8.配置环境变量(略)
    9.修改hadoop配置文件
       a.core-site.xml
            <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
        </property>

        <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hyxy/tmp/hadoop</value>
        </property>
       b.hdfs-site.xml
        <property>
        <name>dfs.replication</name>
        <value>3</value>
        </property>
       c.mapred-site.xml
            <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
          <description>
            The runtime framework for executing MapReduce jobs.Can be one of local, classic or yarn.
          </description>
        </property>
       d.yarn-site.xml
      <property>
        <description>A comma separated list of services where service name should only
          contain a-zA-Z0-9_ and can not start with numbers</description>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>

      <property>
        <description>The hostname of the RM.</description>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
      </property>
       e.slaves
      添加datanode节点名称,以行为准
          slave1
          slave2
       f.hadoop-env.sh
           #配置JAVA_HOME
       【注意:
        1).将hosts文件分发所有从节点:
           $>scp /etc/hosts hyxy@slave1:/etc/
           $>scp /etc/hosts hyxy@slave2:/etc/
        2).将hadoop目录分发到所有从节点
           $>scp -r ~/soft/hadoop/ hyxy@slave1:/home/hyxy/soft
           $>scp -r ~/soft/hadoop/ hyxy@slave2:/home/hyxy/soft
        】
    10.格式化
       a. 删除hadoop.tmp.dir设置路径下的所有文件(所有节点)
       b. 删除HADOOP_LOG_DIR设置路径下的日志文件(所有节点)
       c. 格式化:
           $>hdfs namenode -format(主节点)
    11.开启完全分布式
          $>start-all.sh

sudo
--------------------
    1.修改/etc/sudoers文件
       $>visudo
          在这行代码(root     ALL=(ALL)   ALL)下插入:
           hyxy     ALL=(ALL)   ALL


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值