zoukankan      html  css  js  c++  java
  • Centos7完全分布式搭建Hadoop2.7.3

    (一)软件准备

    1,hadoop-2.7.3.tar.gz(包)

    2,三台机器装有cetos7的机子

    (二)安装步骤

      1,给每台机子配相同的用户

        进入root : su root

        创建用户s:  useradd s

        修改用户密码:passwd s

      2.关闭防火墙及修改每台机的hosts(root 下)

        vim /etc/hosts  如:(三台机子都一样)

        vim /etc/hostsname:如修改后参看各自的hostname

        关闭防火墙:

          systemctl stop firewalld.service

          禁用防火墙:systemctl disable firewalld.service

          查看防火墙状态firewall-cmd --state

          重启 reboot

      3,为每台机的用户s配置ssh,以用户s身份登录  (一定要相同的用户,因为ssh通信默认使用相同用户身份访问另一台机子)

        1,root 用户下修改: vim /etc/ssh/sshd_config,设置这三项后,执行service sshd restart

         2,退出root,在用户s下操作

          生成密钥对: ssh-keygen -t dsa(一路回车即可)

          转入ssh目录下:cd .ssh

          导入公钥: cat id_dsa.pub >>  authorized_keys

          修改authorized_keys权限:chmod 644       

          authorized_keys  (修改权限,保证自己免密码能登入)

          验证  ssh Master (在三台机都执行相同的操作)

        3,实现master-slave免密码登录

          在master 上执行:   cat ~/.ssh/id_dsa.pub | ssh s@Slave1 'cat - >> ~/.ssh/authorized_keys'      

                    cat ~/.ssh/id_dsa.pub | ssh s@Slave2 'cat - >> ~/.ssh/authorized_keys '  

          验证 :ssh Slave1


     (三 )配置Hadoop集群

        1,解压hadoop和建立文件

          root用户下:tar zxvf  /home/hadoop/hadoop-2.7.3.tar.gz -C /usr/  

           重命名:mv hadoop-2.7.3 hadoop

           授权给s: chown -R  s /usr/hadoop

        2,创建hdfs相关文件(三台机子都需要操作)

          创建存储hadoop数据文件的目录: mkdir /home/hadoopdir

          存储临时文件,如pid:mkdir /home/hadoopdir/tmp

          创建dfs系统使用的dfs系统名称hdfs-site.xml使用:mkdir /home/hadoopdir/dfs/name

          创建dfs系统使用的数据文件hdfs-site.xml文件使用:mkdir  /home/hadoopdir/dfs/data

           授权给s: chown -R  s /home/hadoopdir

         3,配置环境变量(三台机子都需要操作)

         root用户下:vim /etc/profile  添加如图: 保存退出后:source /etc/profile

              验证:hadoop version(这里要修改  /usr/hadoop/etc/hadoop/hadoop-env.sh,即export JAVA_HOME=/usr/lib/jvm/jre)

         4,配置hadoop文件内容

          4.1 修改core-site.xml        

    <configuration>
           <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://Master:9000</value>
           </property>
           <property>
                    <name>io.file.buffer.size</name>
                    <value>131072</value>
            </property>
           <property>
                   <name>hadoop.tmp.dir</name>
                   <value>file:/home/hadoopdir/tmp/</value>
                   <description>A base for other temporary   directories.</description>
           </property>
            <property>
                   <name>hadoop.proxyuser.hadoop.hosts</name>
                   <value>*</value>
           </property>
           <property>
                   <name>hadoop.proxyuser.hadoop.groups</name>
                   <value>*</value>
           </property>
    </configuration>

         4.2 修改hdfs-site.xml文件

    <configuration>
         <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>file:///home/hadoopdir/dfs/name</value>
           </property>
          <property>
                  <name>dfs.datanode.data.dir</name>
                  <value>file:///home/hadoopdir/dfs/data</value>
           </property>
           <property>
                   <name>dfs.replication</name>
                   <value>2</value>
            </property>
            <property>
                     <name>dfs.webhdfs.enabled</name>
                      <value>true</value>
             </property>
    </configuration>

        4.3 修改mapred-site.xml

    <configuration>         
    <property> 
          <name>mapreduce.framework.name</name>
              <value>yarn</value>
               </property>
              <property>
                      <name>mapreduce.jobhistory.address</name>
                      <value>Master:10020</value>
              </property>
              <property>
                    <name>mapreduce.jobhistory.webapp.address</name>
                    <value>Master:19888</value>
           </property>
     <property>
                    <name>mapreduce.jobtracker.http.address</name>
                    <value>Master:50030</value>
           </property>
     <property>
                    <name>mapred.job.tracker</name>
                    <value>Master:9001</value>
           </property>
    </configuration>

        4.4 修改 yarn-site.xml

    <configuration>
    
    <!-- Site specific YARN configuration properties -->
            <property>
                   <name>yarn.nodemanager.aux-services</name>
                   <value>mapreduce_shuffle</value>
            </property>
            <property>                                                               
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
            </property>
    <property>
                   <name>yarn.resourcemanager.hostname</name>
                   <value>Master</value>
           </property>
            <property>
                   <name>yarn.resourcemanager.address</name>
                   <value>Master:8032</value>
           </property>
           <property>
                   <name>yarn.resourcemanager.scheduler.address</name>
                   <value>Master:8030</value>
           </property>
           <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                 <value>Master:8031</value>
          </property>
          <property>
                  <name>yarn.resourcemanager.admin.address</name>
                   <value>Master:8033</value>
           </property>
           <property>
                   <name>yarn.resourcemanager.webapp.address</name>
                   <value>Master:8088</value>
           </property>
    </configuration>

        4.5,修改 slaves文件

          

       5,搭建集群(普通用户s)

         格式hadoop文件:hadoop  namenode -format  (最后出现“util.ExitUtil: Exiting with status 0”,表示成功)

         发送dfs内容给Slave1:scp  -r /home/hadoopdir/dfs/*  Slave1:/home/hadoopdir/dfs

          发给dfs内容给Slave2:scp  -r /home/hadoopdir/dfs/*  Slave2:/home/hadoopdir/dfs

         发送hadoop文件给数据节点:scp -r /usr/hadoop/*  Slave1:/usr/hadoop/  scp -r /usr/hadoop/*  Slave2:/usr/hadoop/

       6,启动集群

        ./sbin/start-all.sh

          1,jps(centos 7 默认没有,可以参照这里安装)查看:Master和Slave中分别出现如下所示:

          

          2,离开安全模式(master): hadoop dfsadmin  safemode  leave

           查看结果:hadoop dfsadmin -report,如图

          3,登录网页查看:http://Master:50070  (查看live node)    查看yarn环境(http://Master/8088)

            

      (四) 参考网页:

          1,Ubuntu16.04 完全分布式搭建Spark2.0

          2,Cetos6详细搭建hadoop集群

          3,SSH集群搭建

          4,livenode 为0 异常汇总(我就是第二种情况)

  • 相关阅读:
    2020寒假 学习进度笔记4:spark使用1
    2020寒假 学习进度笔记3:Spark安装
    2020寒假 学习进度笔记2:Scala学习
    2020寒假 学习进度笔记1:Scala安装(Windows + Lunux)
    测试试卷—数据清洗
    实验6:Mapreduce实例——WordCount
    个人课程总结
    如何打jar包
    初探性能优化——2个月到4小时的性能提升(copy)推荐阅读
    《阿里巴巴Java工作手册》学习笔记
  • 原文地址:https://www.cnblogs.com/ksWorld/p/6704867.html
Copyright © 2011-2022 走看看