• OS X Yosemite下安装Hadoop2.5.1伪分布式环境


      最近开始学习Hadoop,一直使用的是公司配好的环境。用了一段时间后发现对Hadoop还是一知半解,故决定动手在本机上安装一个供学习研究使用。正好自己用的是mac,所以没啥说的,直接安装。

    总体流程  

    1.安装jdk并配置好环境变量。因为Hadoop是使用java开发的,所以JDK是必须的。

    2.实现ssh无密码验证配置 可以用ssh无需登陆连接到localhost。Hadoop并不要求一定要ssh无密码登录,主要是考虑到集群环境中机器数目多,一个一个输入密码浪费时间而且麻烦,不方便管理。

    3.安装与配置Hadoop

    4.格式化与启动

    5.验证是否启动

    环境

      由于mac 10.10系统中已去掉JDK,所以需要手动安装。官网下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html。我下在的是JDK最新版,安装过程就不多说了,双击运行jdk-8u25-macosx-x64.dmg就可以。安装完后,在终端中输入java -version,显示版本即安装成功。下面是配置环境变量。在终端中输入/usr/libexec/java_home会出现JDK所在的真实路径。Mac 10.5后,Apple建议设置JAVA_HOME使用/usr/libexec/java_home。然后export$JAVA_HOME in file ~/. bash_profile or ~/.profile。由于我用的是zsh,所以vi打开~/.zshrc,输入图片所示。保存并退出。在终端中执行source .zshrc。环境变量即生效。

    SSH无密码验证配置

      Hadoop 需要使用SSH 协议,namenode 使用SSH 协议启动 namenode 和datanode 进程,伪分布式模式数据节点和名称节点均是本身,为了操作方便,需要配置 SSH localhost无密码验证。由于mac自带了ssh,所以直接进行设置。

    1. 执行命令:ssh localhost

      会有错误提示信息,表示当前用户没有权限。这是系统为安全考虑,默认设置的。更改设置如下:进入system preference --> sharing --> 勾选remote login,并设置allow access for all users。再次输入“ssh localhost",再输入密码并确认之后,可以看到ssh成功。中文版如下图:系统偏好设置->共享->远程登录

     不过这里面还有一个麻烦,就是每次都会要求输入用户密码,那么就实现免登陆的配置

    2.执行命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    3.执行命令:cat .ssh/id_rsa.pub >>.ssh/authorized_keys

    4.再执行命令:ssh localhost

    出现次登录信息则表示免登陆配置成功。

    配置

    下面开始正式搭建。

    Hadoop三种运行模式:

    1. 单机模式(standalone):单机模式是Hadoop的默认模式。当配置文件为空时,Hadoop完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。

    2. 伪分布模式(Pseudo-Distributed Mode):Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。

    3. 全分布模式(Fully Distributed Mode):Hadoop守护进程运行在一个集群上。

    Hadoop并没有特别区分伪分布式和集群环境,伪分布式可以理解为只有一个节点的集群环境,方便学习和使用。

    安装Hadoop2.5.1

    官网下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/

    下载到本机后解压到你工作空间中即可。

    配置Hadoop环境变量

       打开终端,输入vi .zshrc。输入图片所示,保存退出后。执行source .zshrc。

      在使用Hadoop之前,还需要对一些配置文件进行修改,Hadoop 2.5.1的配置文件都保存在$HADOOP_HOME/etc/hadoop文件夹下。以下直接列出几个配置文件的修改方法。

    hadoop-env.sh,主要是设置JAVA_HOME,由于我们之前已设置过JAVA_HOME,所以在这里可以不用修改。

    至此,hadoop的单机环境就算安装完了。

    伪分布式环境搭建

      这里需要设定4个文件:core-site.xml,hdfs-site.xml,mapred-site.xml和yarn-site.xml.都在/opt/hadoop-2.5.1/etc/hadoop/目录下
    core-site.xml:Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。
    hdfs-site.xml:Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。
    mapred-site.xml:MapReduce 守护进程的配置项,包括jobtracker和tasktracker。

    yarn-site.xml: Yarn 框架用于执行MapReduce 处理程序

    core-site.xml

    hdfs-site.xml

    mapred-site.xml

      请注意这里安装的2.5.1版本,2.*版本较1.*版本改动很大,主要是用Hadoop MapReduceV2(Yarn) 框架代替了一代的架构,其中JobTracker 和 TaskTracker 不见了,取而代之的是 ResourceManager, ApplicationMaster 与 NodeManager 三个部分,而具体的配置文件位置与内容也都有了相应变化。所以我们在mapred-site.xml中设置了处理map-reduce的框架Yarn,接下来就需要在yarn-site.xml中配置ResourceManager, ApplicationMaster 与 NodeManager。

    yar-site.xml

    格式化HDFS

    通过以上步骤,我们已经设定好Hadoop伪分布式环境,接着就是启动Hadoop的相关服务,格式化namenode,secondarynamenode,tasktracker:

    hadoop namenode -format  

    如上图所示,代表格式化成功。

    启动Hadoop

    接着执行start-all.sh来启动所有服务,包括namenode,datanode,start-all.sh脚本用来装载守护进程。

    ./start-all.sh   #2.5.1版推荐使用start-dfs.sh和start-yarn.sh来启动

    用Java的jps命令列出所有守护进程来验证安装成功

    检查运行状态
    此时,Hadoop已经启动,用浏览器打开localhost:50070localhost:8088,可以分别看到HDFS和YARN的管理页面。
    http://localhost:50070          #HDFS管理页面

    http://localhost:8088            #YARN管理页面

    停止Hadoop服务

    stop-all.sh

    待解决问题:

    查阅有关官方介绍 http://wiki.apache.org/hadoop/HowToContribute 中有说明:Hadoop本地库只支持*nix平台,已经广泛使用在GNU/Linux平台上,但是不支持 Cygwin  和 Mac OS X 。需要本地编译,由于时间原因一直没弄好,稍后更新!

  • 相关阅读:
    Mybatis Interceptor 拦截器原理 源码分析
    Mybatis SqlSessionTemplate 源码解析 原理理解
    DRUID连接池的实用 配置详解以及监控配置
    Oracle 单行函数
    Oracle复杂查询及总结
    Oracle数据更新、事务处理、数据伪列
    Oracle表的创建及管理
    Oracle建表、更新、查询综合练习
    Oracle约束
    Oracle集合、序列
  • 原文地址:https://www.cnblogs.com/zq-inlook/p/4154055.html
Copyright © 2020-2023  润新知