Hadoop安装

作者: 追风de蜗牛 | 来源:发表于2018-01-02 14:44 被阅读38次

    配置SSH免密登录


    ssh-keygen -t rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys
    

    ssh localhost 验证免密登录是否配置成功

    安装Java


    Java是Hadoop的先决条件。
    使用 java -version 命令验证是否已安装了Java。

    java -version
    

    如果已经安装了,会显示Java版本信息。未安装可以按以下步骤安装Java

    第一步

    下载Java JDK
    :安装jdk9,在启动hadoop时可能报waring错误

    第二步

    解压安装包,移动到“/usr/local/java”下并重命名为‘jdk’。

    tar -zxvf jdk-8u151-linux-x64.tar.gz
    mkdir /usr/local/java && mv jdk1.8.0_151 /usr/local/java/jdk
    
    第三步

    设置PATH和JAVA_HOME变量,将以下两行命令添加到“ ~/.bash_profile”文件中

    export JAVA_HOME=/usr/local/java/jdk
    export PATH=$PATH:$JAVA_HOME/bin
    

    使环境变量生效

    source ~/.bash_profile
    

    通过 java -version 验证是否安装成功

    下载Hadoop


    Hadoop镜像站点
    下载

    cd /usr/local
    wget 'http://mirrors.shuosc.org/apache/hadoop/common/stable/hadoop-2.9.0.tar.gz'
    tar -xzvf hadoop-2.9.0.tar.gz
    mv hadoop-2.9.0 hadoop
    

    Hadoop 的分布模式


    1. 本地/独立模式:下载安装 Hadoop 后默认情况下为此模式。
    2. 伪分布式模式:单台机器模拟分布式模式。Hadoop 守护每个进程,如 HDFS、yarn、MapReduce 等,都将作为一个独立的java程序运行。这种模式对开发非常有用。
    3. 分布式模式:完全分布式的最少两台或多台计算机的集群。

    本地模式配置


    设置Hadoop

    添加环境变量 #vi ~/.bash_profile

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    

    使环境变量生效:source ~/.bash_profile
    运行 hadoop version 确保Hadoop安装成功。
    默认情况下,Hadoop被配置为在非分布模式的单个机器上运行。

    伪分布式模式


    在本地模式配置基础上进行:

    Hadoop 配置

    Hadoop 的配置文件在 “$HADOOP_HOME/etc/hadoop” 目录下

    cd $HADOOP_HOME/etc/hadoop
    

    配置文件
    hadoop-env.sh
    core-site.xml
    hdfs-site.xml
    mapred-site.xml
    在项目目录下查找 find -name *-default.xml 可以获得以上文件的默认配置格式及说明
    core-default.xml
    hdfs-default.xml
    mapred-default.xml

    1. vim hadoop-env.sh
      Hadoop为Java开发,所以要在此文件配置java环境变量。配置hadoop配置文件路径
    # export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/usr/local/java/jdk
    
    # export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-'/etc/hadoop'}
    export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
    
    1. 在 core-site.xml 中的 configuration 标签内添加一下代码
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/local/hadoop/tmp</value>
      <description>临时文件的基础目录</description>
    </property>
    
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://localhost:9000</value>
      <description>HDFS 的访问路径</description>
    </property>
    
    1. 在 hdfs-site.xml 中添加
    <property>
      <name>dfs.replication</name>
      <value>1</value>
      <description>指定块的复制数量</description>
    </property>
    
    <property>
      <name>dfs.namenode.name.dir</name>
      <value>file://${hadoop.tmp.dir}/dfs/name</value>
      <description>namenode 的存储位置 </description>
    </property>
    
    <property>
      <name>dfs.datanode.data.dir</name>
      <value>file://${hadoop.tmp.dir}/dfs/data</value>
      <description>datanode 的存储位置</description>
    </property>
    
    配置修改说明

    Hadoop 的运行方式是由配置文件决定,如果需要从伪分布式模式切换回本地式模式,需要删除 core-site.xml 中的配置项。
    虽然伪分布式模式只需要配置 fs.defaultFS 和 dfs.replication 就可以运行,但是若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoop-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,防止之后的操作报错。

    初始化运行

    配置完成后使用以下命令格式化NameNode

    hdfs namenode -format
    

    到所安装的Hadoop目录下,使用以下命令启动DFS

    sbin/start-dfs.sh
    

    输入jps如看到,以下进程已经成功启动

     NameNode
     DataNode
     SecondaryNameNode
    

    可以访问http://localhost:50070查看Hadoop相关状态信息。

    1. 如SSH链接是需要端口号,请在 hadoop-env.sh 加入下面代码
    export HADOOP_SSH_OPTS="-p 12345"
    

    相关文章

      网友评论

        本文标题:Hadoop安装

        本文链接:https://www.haomeiwen.com/subject/uvofnxtx.html