hadoop伪分布安装称为测试环境安装,多机分布称为生成环境安装。以下安装没有进行HA(热备)和Federation(联邦)。除非是性能需要,否则没必要安装Federation,HA可以一试,涉及到Zookeeper自动切换。

  1. 准备工作

    1) linux优化

    ①安装虚拟机linux系统,采用1.2 中的CentOS调优所有步骤,关闭防火墙;②设置网络为桥接模式(编辑虚拟机设置—>网络适配器),查看自动分配ip或手动配置ip;③等JDK安装的JAVA_HOME(见1.3.1)和HADOOP_HOME(见2.1.6(8))配置好后,直接复制虚拟机,将whaozl001的虚拟机系统复制成3个文件夹作为DataNode的数据节点的linux主机,网卡要重新删除和编辑,见2.1.7(3);④配置NameNode节点的主机whaozl001到其他主机ssh免密码登录,见2.1.7;⑤注意:在配置过程中所有的property中的name和value值都不能存在空格、配置中的删除线部分表示可不添加进去。

    2) 配置节点

    对所有Node,配置vim /etc/hosts添加10.30.30.1    whaozl001等ip映射;

    10.30.30.1 whaozl001

    10.30.30.5 whaozl005

    10.30.30.6 whaozl006

    10.30.30.7 whaozl007

    10.30.30.8 whaozl008

    这里配置4个DataNode,1个NameNode,给每个节点主机修改主机名(虚拟机名称、ip映射名、linux主机名):

     

    主机名

    ip地址(内网)

    linux用户名

    密码

    充当角色

    NameNode

    whaozl001

    10.30.30.1

    haozhulin

    123456 

    nn/snn/rm 

    DataNode

    whaozl005

    10.30.30.5

    haozhulin 

    123456 

    dn/nm 

    DataNode

    whaozl006

    10.30.30.6

    haozhulin 

    123456 

    dn/nm 

    DataNode

    whaozl007

    10.30.30.7

    haozhulin 

    123456 

    dn/nm 

    DataNode

    whaozl008

    10.30.30.8

    haozhulin 

    123456 

    dn/nm 

    虚拟机名称就是虚拟机文件夹名。用户均为haozhulin,其在linux的/home目录下有一个haozhulin文件夹(用户文件夹)。在cluster中充当的角色(namenode, secondary namenode, datanode , resourcemanager, nodemanager)。

  2. 解压

    将安装包hadoop-2.2.0.tar.gz存放到/home/haozhulin/install/目录下,并解压

    先让其有执行权限,然后直接./就可以解压

    chmod
    +x hadoop-2.2.0.tar.gz

    ./hadoop-2.2.0.tar.gz

    配置之前,在whaozl001主机的/home/haozhulin/install/hadoop-2.2.0/下建立三个文件夹:~/dfs/name、~/dfs/data、~/temp;

    接下来修改/home/haozhulin/install/hadoop-2.2.0/etc/hadoop/下的7个文件。

    hadoop-env.sh

    core-site.xml

    hdfs-site.xml

    mapred-site.xml

    yarn-site.xml

    slaves

    yarn-env.sh

  3. 修改hadoop-env.sh

    配置hadoop的jdk版本环境

    cd /home/haozhulin/install/hadoop-2.2.0/etc/hadoop/

    vim hadoop-env.sh

    hadoop-env.sh为hadoop环境变量,依赖JDK,进行如下修改

    #第27行

    export JAVA_HOME=/home/haozhulin/install/java/jdk1.7.0_09

  4. 修改core-site.xml

    在其<configuration></ configuration >中插入:

    <!-- 制定HDFS的老大(NameNode)的地址 -->

    <property>

        <!--<name>fs.default.name</name>-->

        <name>fs.defaultFS</name>

        <value>hdfs://whaozl001:9000</value>

    </property>

    <!--指定hadoop运行时产生文件的存储目录-->

    <property>

        <name>hadoop.tmp.dir</name>

        <value>file:///home/haozhulin/install/hadoop-2.2.0/tmp</value>

    </property>

    <!--指定hadoop运行的流文件的缓冲区,单位B,这里设置为128KB,默认4KB-->

    <property>

        <name>io.file.buffer.size</name>

        <value>131072</value>

    </property>

    <property>

        <name>hadoop.proxyuser.haozhulin.hosts</name>

        <value>*</value>

    </property>

    <property>

        <name>hadoop.proxyuser.haozhulin.groups</name>

        <value>*</value>

    </property>

  5. 修改hdfs-site.xml

    在其<configuration></ configuration >中插入:

    <!--HA就不需要secondary咯,这里不是HA,就需要配置Secondaryhtpp通信地址-->

    <property>

        <name>dfs.namenode.secondary.http-address</name>

        <value> whaozl001:9001</value>

    </property>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>file:///home/haozhulin/install/hadoop-2.2.0/dfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir </name>

        <value>file:///home/haozhulin/install/hadoop-2.2.0/dfs/data</value>

    </property>

    <!--指定HDFS存在block的副本数量,默认值是3个,现有4个DataNode,该值不大于4即可-->

    <property>

        <name>dfs.replication</name>

        <value>2</value>

    </property>

    <property>

        <name>dfs.webhdfs.enabled</name>

        <value>true</value>

    </property>

  6. 修改mapred-site.xml

    从template命名mapred-site.xml后<configuration></configuration>中插入:

    <!-- 指定mr运行在yarn上 -->

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.address</name>

        <value>whaozl001:10020</value>

    </property>

    <property>

        <name>mapreduce.jobhistory.webapp.address</name>

        <value> whaozl001:19888</value>

    </property>

  7. 修改yarn-site.xml

    在其<configuration></ configuration >中插入:

    <!-- 指定YARN的老大(ResourceManager)的地址 -->

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>whaozl001</value>

    </property>

    <!-- reducer获取数据的方式 -->

    <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.address</name>

        <value>whaozl001:8032</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value> whaozl001:8030</value>

    </property>

    <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value> whaozl001:8031</value>

    </property>

    <property>

        <name>yarn.resourcemanager.admin.address</name>

        <value> whaozl001:8033</value>

    </property>

    <property>

        <name>yarn.resourcemanager.webapp.address</name>

        <value> whaozl001:8088</value>

    </property>

  8. 修改slaves

    #定位到/home/haozhulin/install/hadoop-2.2.0/etc/hadoop/slaves文件

    vim etc/hadoop/slaves

    #由于是单机伪分布,所以DataNode就只有localhost

    #不需要修改,也可以改为127.0.0.1,都是指本机

    #slaves文件中记录所有的slave节点,写入以下内容

    whaozl005

    whaozl006

    whaozl007

    whaozl008

  9. 修改yarn-en.sh

    同修改hadoop-env.sh,修改里面的JAVA_HOME值。

  10. 将配置复制到其他节点

    这里可以写一个shell脚本进行操作(有大量节点时比较方便)。

    scp –r /home/haozhulin/install/hadoop-2.2.0 haozhulin@whaozl005:~/

    scp –r /home/haozhulin/install/hadoop-2.2.0 haozhulin@whaozl006:~/

    scp –r /home/haozhulin/install/hadoop-2.2.0 haozhulin@whaozl007:~/

    scp –r /home/haozhulin/install/hadoop-2.2.0 haozhulin@whaozl008:~/

    scp –r 表示递归到目录和目录中文件远程复制到目标主机,~表示当前用户目录(用户目录就是保存在/home下)。

  11. 格式化namenode

    #进入hadoop位置/home/haozhulin/install/hadoop-2.2.0

    cd /home/haozhulin/install/hadoop-2.2.0

    #格式化namenode

    ./bin/hdfs namenode –format    

  12. 启动hadoop

    #进入hadoop位置/home/haozhulin/install/hadoop-2.2.0

    cd /home/haozhulin/install/hadoop-2.2.0

    #启动hdfs

    ./sbin/start-dfs.sh

    #jps可查看进程

    #此时在whaozl001上面运行的进程有namenode secondarynamenode

    #whaozl005/whaozl006/whaozl007/whaozl008上运行的进程有datanode

    #启动yarn

    ./sbin/start-yarn.sh

    #此时在whaozl001上面有namenode secondarynamenode resourcemanager

    #whaozl005/whaozl006/whaozl007/whaozl008有:datanode nodemanaget

    了解hadoop运行情况:

    #查看集群状态

    ./bin/hdfs dfsadmin –report

    #查看文件块组成

    ./bin/hdfsfsck / -files –blocks

    #查看HDFS:

    http://10.30.30.1:50070

    #查看RM

    http://10.30.30.1:8088

  13. 测试

    #先在hdfs上创建一个文件夹

    ./bin/hdfs dfs –mkdir /input

    #测试案例

    ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jarrandomwriter /input

hadoop多机安装YARN的更多相关文章

  1. hadoop多机安装HA+YARN

    HA 相比于Hadoop1.0,Hadoop 2.0中的HDFS增加了两个重大特性,HA(热备)和Federation(联邦).HA即为High Availability,用于解决NameNode单点 ...

  2. Apache Hadoop集群安装(NameNode HA + YARN HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 192.16 ...

  3. Hadoop三种安装模式:单机模式,伪分布式,真正分布式

    Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...

  4. Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS

    摘自:http://www.powerxing.com/install-hadoop-cluster/ 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否 ...

  5. Ubuntu16.04下Hadoop的本地安装与配置

    一.系统环境 os : Ubuntu 16.04 LTS 64bit jdk : 1.8.0_161 hadoop : 2.6.4 部署时使用的用户名为hadoop,下文中需要使用用户名的地方请更改为 ...

  6. Hadoop 新 MapReduce 框架 Yarn 详解【转】

    [转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/] 简介: 本文介绍了 Hadoop 自 0.23.0 版本 ...

  7. HADOOP docker(一):安装hadoop实验集群(略操蛋)

    一.环境准备 1.1.机器规划 主机名    别名    IP     角色 9321a27a2b91 hadoop1 172.17.0.10 NN1 ZK RM 7c3a3c9cd595 hadoo ...

  8. hadoop高可用安装和原理详解

    本篇主要从hdfs的namenode和resourcemanager的高可用进行安装和原理的阐述. 一.HA安装 1.基本环境准备 1.1.1.centos7虚拟机安装,详情见VMware安装Cent ...

  9. java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式

    Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...

随机推荐

  1. Eclipes中使用BASE64Encoder及BASE64Decoder报错

    也没有提示让导包,这是因为Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Deco ...

  2. c语言学习之基础知识点介绍(十一):字符串的介绍、使用

    本节主要介绍c语言中的字符串的应用. 一:字符串介绍 因为c语言中没有像Java.C#那样的字符串类型,所以无法直接用字符串.需要借助数组来解决这个问题. /* 定义:把多个字符连在一起就叫字符串.但 ...

  3. J2EE、J2SE、J2ME

    http://developer.51cto.com/art/200906/130453.htm 本文介绍Java的三大块:J2EE.J2SE和J2ME.J2SE就是Java2的标准版,主要用于桌面应 ...

  4. 访问权限PPP(public、private、protected、default)之成员变量、成员变量权限解析

    首先,我们需要清楚一下方法是由哪些部分构成的: [权限修饰符列表][别的修饰符列表] 返回值类型 方法名(参数列表){   方法体:} 然后我们需要知道成员变量和成员方法访问有几种情况:1.当前包同一 ...

  5. linux/windows系统oracle数据库简单冷备同步

    linux/windows系统oracle数据库简单冷备同步 我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(linux),一个应急备份环境(windows).备份环境 ...

  6. [python] 字符串与列表、字典的转换

    1.字符串->字典:eval(str) 2.字符串->列表:list(str)

  7. 插入排序之python实现源码

    def insert_sort(old): for i in range(1, len(old)): for j in range(i, 0, -1): if(old[j] < old[j-1] ...

  8. discuz注册 内部错误

    ucenter整合后,在论坛注册时出现 内部错误,无法显示,这是因为ucenter中,某个appid没写入! 可以把ucenter安装包下的utilities/checkappid.php,复制到uc ...

  9. MIS框架开发计划

    计划开发模块 缓存模块 全球化模块(时间转换.货币转换.语言切换.度量转换.时区转换) 用户模块 用户短消息模块 日志模块(系统日志.用户操作日志.安全审计日志) 权限模块 配置模块 事件模块(观察者 ...

  10. python連接mysql數據庫

    第一步,安裝mysql數據庫. 這裏我安裝的是mariadb數據庫,版本5.5,並且配置好了字符集.此處不詳細敘述,相信大家沒有問題. 第二步,安裝mysql驅動. 首先說明一下有兩個主要的驅動: m ...