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

    一,前提:下载好虚拟机和安装完毕Ubuntu系统。因为我们配置的是hadoop分布式,所以需要两台虚拟机,一台主机(master),一台从机(slave)

           选定一台机器作为 Master 在 Master 节点上配置 hadoop 用户、安装 SSH server、安装 Java 环境

           在 Master 节点上安装 Hadoop,并完成配置

           在其他 Slave 节点上配置 hadoop 用户、安装 SSH server、安装 Java 环境

           将 Master 节点上的 /usr/local/hadoop 目录复制到其他 Slave 节点上

            在 Master 节点上开启 Hadoop

    二,在Ubuntu中打开终端,可使用快捷键ctrl+alt+t

          1.首先要搭建好java环境,这时候,Ubuntu安装的时候默认是nat的网络连接,可通过执行命令:

                sudo apt-get install openjdk-8-jre openjdk-8-jdk

             回车,这时候会要求你输入密码,就是安装的时候 你自己设置的密码,输入密码你是不到的,不管它,直接回车,下载的时候会需要一些时间

            下载完毕后,还要安装  ssh  和  vim

             同样的做法:  sudo apt-get install openssh-server

                                     sudo apt-get install  vim

             执行  apt-get  命令的时候要保证网络是通的

            2,好,这时候已经下载完毕,java默认路径是在  /usr/lib/jvm/java-8-openjdk-amd64  

              我们这时候要配置java环境变量,在终端输入 :

                vim ~/.bashrc

               回车

              你就进到一个文件里面,这时候按快捷键   shift+G,跳到文件的最后面部分,你发现,不能够写入数据,按  i   ,进入  insert  模式,这时候输入

                export   JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

               写入完毕,按  esc  然后  shift+冒号(shift + :),然后   wq   (保存并退出)

            3,回到终端,输入

                 source   ~/.bashrc

                使环境变量生效

           4.   在终端输入  javac -version出现 java的版本号则说明配置成功

    三,ssh实现无密码登录

            1.            

               这时候操作是在master(主机)上,第四张图按两下,其中ip要怎么改呢?,打开你的本机的doc窗口,输入ipconfig,假如你的ip是192.168.41.128,则你的如图所示的ip改为192.168.41.129,记得保存,时候你的虚拟机的网络方式要由默认的  nat  改为桥接模式,怎么改?虚拟机主页左上角有个虚拟机,设置,网络适配器,改为桥接模式,确定。

             由于我们要配置的是hadoop分布式,一个主机一个从机,主机名是master,从机是slave

           2.   vim /etc/hostname

                  修改你的用户名为master

                同样在slave中的  /etc/hostname改为slave

           3.    vim /etc/hosts

                  添加  :192.168.31.129    master       

                               192.168.41.130    slave 

                  重启

                 通过ping master和ping  slave 是否成功

           4.  ssh-keygen -t rsa

              一直回车,生成公匙

                cat  ./id_rsa.pub  >>  ./authorized_keys

              授权

           5.   ssh  localhost

                 会看到一个welcome页面,不用输入密码,要是还要输入密码,那就是前面的步骤出错了

                scp  ./authorized_keys   192.168.41.130:/home/hadoop/.ssh

                 //   这个直接把授权好的钥匙复制到slave上。若是slave上没有.ssh目录,则先生成该目录,一般都有的,

             这一步完成后,执行

                  ssh slave

               不用输入密码就可以登录slave。出现欢迎页面,到这里,完成Ubuntu无密码登录

    四,hadoop的安装与配置

            1.   首先把下载好的hadoop压缩包解压到指定的文件夹 (hadoop文件:链接:https://pan.baidu.com/s/1kVahwYb 密码:qzpi)

                  解压hadoop

                   sudo tar  -zxf  hadoop-2.7.4.tar .gz  -C  /usr/local

                   这时候的hadoop文件的压缩包是在   /home/hadoop  下,若是操作失败,检查该路径下是否有需要操作的文件

            2.  cd  /usr/local

                 //    进入该路径,ls   看一下解压后的hadoop文件是否存在

                 sudo  mv  hadoop-2.7.4   hadoop

                 //    改hadoop-2.7.4为hadoop,改个文件名而已

                sudo  chown  -R  hadoop  ./hadoop

                //    -R把hadoop下的所有文件和文件夹都改变所属用户为hadoop用户

                 cd  hadoop

                 bin/hadoop version

               //   测试hadoop是否安装成功,若出现版本号,则说明安装成功

           3.接下来配置hadoop环境变量

              vim  ~/.bashrc

              添加

              export  HADOOP_HOME=/usr/local/hadoop

              export  PATH=$PATH:$HADOOP_HOME/bin:$HADOOP/sbin

              同样的

              source ~/.bashrc

              使环境变量生效

            4.修改5个配置文件

               slave

               core-site.xml

               hdfs-site.xml

               mapred-site.xml

               yarn-site.xml

               <1>    vim  /usr/local/hadoop/etc/slave

                        添加

                        salve

              <2>     vim /usr/local/etc/hadoop/core-site.xml

    <configuration>
            <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://Master:9000</value>
            </property>
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>file:/usr/local/hadoop/tmp</value>
           </property>
    </configuration> 
    View Code

               <3>     vim /usr/local/etc/hadoop/hdfs-site.xml

    <configuration>
            <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>Master:50090</value>
            </property>
            <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
            <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>file:/usr/local/hadoop/tmp/dfs/name</value>
            </property>
            <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>file:/usr/local/hadoop/tmp/dfs/data</value>
            </property>
    </configuration>
    View Code

                <4>    vim /usr/local/etc/hadoop/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>
    </configuration>
    View Code

                <5>    vim /usr/local/etc/hadoop/yarn-site.xml

    <configuration>
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>Master</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    </configuration>
    View Code

           5.配置好后,将 Master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。如果之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。在 Master 节点上执行:                        tar -zcf ~/hadoop.master.tar.gz ./hadoop 

                          cd ~

                          scp ./hadoop.master.tar.gz slave:/home/hadoop

              在slave上执行

                          sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local

                          sudo chown -R hadoop /usr/local/hadoop

              同样,如果有其他 Slave 节点,也要执行将 hadoop.master.tar.gz 传输到 Slave 节点、在 Slave 节点解压文件的操作。

              首次启动需要先在 Master 节点执行 NameNode 的格式化:
                           hdfs namenode –format
              如果是centos系统,需要关闭防火墙

              这里可能会出现java环境配置不被发现的错误,只需要

                           vim  /usr/local/etc/hadoop/hadoop.env.sh

                           

               记得source ~/.bashrc

              接着可以启动 hadoop 了,启动需要在 Master 节点上进行:
                           start-dfs.sh
                           start-yarn.sh

               通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、

               在 Slave 节点可以看到 DataNode 和 NodeManager 进程,大功告成!!!

               第一次写文档,不足之处,请见谅

  • 相关阅读:
    为什么选择webpack
    webpack-模块(module)
    AHK 命令行
    icon 多 索引 图标
    win10 鼠标右键 某类文件 资源管理器 卡死
    管道 命令 %errorlevel! 环境变量 优先级 问题 随笔 CMD /V 延迟的环境变量
    SolidWorks 管道 routing
    SolidWorks 工程图 表格 杂
    windows shell 笔记 3
    windows shell 笔记 2
  • 原文地址:https://www.cnblogs.com/s42-/p/8099365.html
Copyright © 2011-2022 走看看