zoukankan      html  css  js  c++  java
  • [Hadoop] 在Ubuntu系统上一步步搭建Hadoop(单机模式)

    1 Hadoop的三种创建模式

      单机模式操作是Hadoop的默认操作模式,当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,会保守地选择最小配置,即单机模式。该模式主要用于开发调试MapReduce程序的应用逻辑,而不会和守护进程交互,避免增加额外的复杂性。

      伪分布模式操作是指在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式操作之上多了代码调试功能,可以查阅内存的使用情况、HDFS的输入输出以及守护进程之间的交互。

      全分布模式操作是指一种实际意义上的Hadoop集群,其规模可从几个节点的小集群到成百上千个节点的大集群,甚至是成千上万的超大集群。

      本文只限于介绍单机模式,伪分布模式需要在自己的Ubuntu系统下额外建立虚拟的系统,而全分布模式需要搭建集群的硬件设施。

    2 创建Hadoop用户组和Hadoop用户

      Step1:创建Hadoop用户组:

        ~$ sudo addgroup hadoop

      Step2:创建Hadoop用户:

        ~$ sudo adduser -ingroup hadoop hadoop

      回车后会提示输入密码,这是新建Hadoop的密码,输入两次密码敲回车即可。如下图所示: 

     

      Step3:为Hadoop用户添加权限:

      ~$ sudo gedit /etc/sudoers

      点击回车后,打开sudoers文件,在

      root    ALL=(ALL:ALL) ALL

      后添加:

      hadoop   ALL=(ALL:ALL) ALL

      注意:“hadoop” 后为" ",而不是一个空格,一旦sudoers修改错误会引起很严重的后果(比如导致sudo命令无法正常使用,这时候只能通过root权限进行复原)。修改后的sudoers文件如下图所示:

      

    3 用新增hadoop用户名登陆Ubuntu系统

      ~$ su - hadoop

      输入密码即可。

    4 安装SSH

      Step4:安装Hadoop通信需要的SSH:

        ~$ sudo apt-get install openssh-server

      安装完以后,启动服务:

        ~$ sudo /etc/init.d/ssh start

      启动后,可以通过如下命令来确认服务是否正确启动:

        ~$ ps -e | grep ss

      如下图所示:

      作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

        ~$ ssh-keygen -t rsa -P ""

      如下图所示:

      此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):

        ~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

      现在可以登入ssh确认以后登录时不用输入密码:

        ~$ ssh localhost

      退出:

        ~$ exit

    5 安装Java

      Step5:安装Java:

        ~$ sudo apt-get install openjdk-6-jdk 

      安装完后,可以输入如下指令查看Java的版本:  

        ~$ java -version

    6 安装和配置Hadoop

      Step6:安装Hadoop:

      1)下载:

        目前最新版本为2.7.0,可以根据自己的需要,安装不同版本的Hadoop,下载地址:请点击这里

      2)解压:

        ~$ sudo tar xzf hadoop-2.7.0.tar.gz

      3)将hadoop移动到 /usr/local/hadoop目录下:

        ~$ sudo mv hadoop-1.0.2 /usr/local/hadoop

      4)要确保所有的操作都是在用户hadoop下完成的:

        ~$ sudo chown -R hadoop:hadoop /usr/local/hadoop

      Step7:配置Hadoop:

      1)配置.bashrc:

           配置该文件,需要知道Java的安装路径,可以通过下面的代码查看:

        ~$ update-alternatives - -config java

            执行结果如下:

        

      完整的路径为:/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java,我们只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64。

         修改.bashrc文件:

           ~$ sudo gedit ~/.bashrc   

      该命令会打开该文件的编辑窗口,在文件末尾追加下面内容,然后保存,关闭编辑窗口。

    #HADOOP VARIABLES START

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

    export HADOOP_INSTALL=/usr/local/hadoop

    export PATH=$PATH:$HADOOP_INSTALL/bin

    export PATH=$PATH:$HADOOP_INSTALL/sbin

    export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

    export HADOOP_COMMON_HOME=$HADOOP_INSTALL

    export HADOOP_HDFS_HOME=$HADOOP_INSTALL

    export YARN_HOME=$HADOOP_INSTALL

    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

    export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

    #HADOOP VARIABLES END

      使添加的环境变量生效:

              ~$ source ~/.bashrc

      2)配置hadoop-env.sh

      打开hadoop-env.sh文件:

              ~$ sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

      找到JAVA_HOME变量,按如下进行修改:

              ~$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64    

            修改后的hadoop-env.sh文件如下所示


      使配置生效:

        ~$ source /usr/local/hadoop/conf/hadoop-env.sh

      到这里,单机模式的hadoop就全部安装完毕了。

    7 Hadoop测试

      为了测试Hadoop安装在正确性,我们可以用在带的例子(比如WordCount)进行测试。

      1) 在/usr/local/hadoop路径下创建input文件夹    

        ~$ mkdir input

      2)拷贝 README.txt 到 input 文件夹

        ~$ cp README.txt input

      3)执行WordCount程序实例

           ~$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-sources.jar org.apache.hadoop.examples.WordCount input output

      如果看到这些内容,那么恭喜你,这说明你的Hadoop已经安装成功了。

    8 结语

      从Ubuntu上安装Hadoop的过程上可以看出,以前你觉得很困难,一直不敢尝试的东西,其实可能它很简单。只要你自己想学,就一步步地来,问题总能找到办法来解决,在此与大家共勉。

    9 参考内容

      [1] Ubuntu 14.04下安装Hadoop2.4.0(单机模式)

      [2] Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

  • 相关阅读:
    5 Things Every Manager Should Know about Microsoft SharePoint 关于微软SharePoint每个经理应该知道的五件事
    Microsoft SharePoint 2010, is it a true Document Management System? 微软SharePoint 2010,它是真正的文档管理系统吗?
    You think you use SharePoint but you really don't 你认为你使用了SharePoint,但是实际上不是
    Introducing Document Management in SharePoint 2010 介绍SharePoint 2010中的文档管理
    Creating Your Own Document Management System With SharePoint 使用SharePoint创建你自己的文档管理系统
    MVP模式介绍
    权重初始化的选择
    机器学习中线性模型和非线性的区别
    神经网络激励函数的作用是什么
    深度学习中,交叉熵损失函数为什么优于均方差损失函数
  • 原文地址:https://www.cnblogs.com/maybe2030/p/4591195.html
Copyright © 2011-2022 走看看